commit
02f38da1a6
10 changed files with 360 additions and 0 deletions
@ -0,0 +1,7 @@
@@ -0,0 +1,7 @@
|
||||
.* |
||||
bin/* |
||||
dist/* |
||||
build/* |
||||
*.pyc |
||||
src/*.egg-info/* |
||||
|
||||
@ -0,0 +1,70 @@
@@ -0,0 +1,70 @@
|
||||
#!/usr/bin/env python |
||||
# -*- encoding: utf-8 -*- |
||||
from __future__ import absolute_import |
||||
from __future__ import print_function |
||||
|
||||
import io |
||||
import re |
||||
from glob import glob |
||||
from os.path import basename |
||||
from os.path import dirname |
||||
from os.path import join |
||||
from os.path import splitext |
||||
|
||||
from setuptools import find_packages |
||||
from setuptools import setup |
||||
|
||||
|
||||
def read(*names, **kwargs): |
||||
return io.open( |
||||
join(dirname(__file__), *names), |
||||
encoding=kwargs.get('encoding', 'utf8') |
||||
).read() |
||||
|
||||
|
||||
setup( |
||||
name='nailab', |
||||
version='0.1.0', |
||||
license='BSD 2-Clause License', |
||||
description='Naiback lab', |
||||
long_description='%s\n%s' % ( |
||||
re.compile('^.. start-badges.*^.. end-badges', re.M | re.S).sub('', read('README.rst')), |
||||
re.sub(':[a-z]+:`~?(.*?)`', r'``\1``', read('CHANGELOG.rst')) |
||||
), |
||||
author='Denis Tereshkin', |
||||
author_email='denis@kasan.ws', |
||||
url='https://github.com/asakul/nailab', |
||||
packages=find_packages('src'), |
||||
package_dir={'': 'src'}, |
||||
py_modules=[splitext(basename(path))[0] for path in glob('src/*.py')], |
||||
include_package_data=True, |
||||
zip_safe=False, |
||||
classifiers=[ |
||||
# complete classifier list: http://pypi.python.org/pypi?%3Aaction=list_classifiers |
||||
'Development Status :: 1 - Planning', |
||||
'Intended Audience :: Financial and Insurance Industry', |
||||
'License :: OSI Approved :: MIT License', |
||||
'Operating System :: Unix', |
||||
'Operating System :: POSIX', |
||||
'Operating System :: Microsoft :: Windows', |
||||
'Programming Language :: Python', |
||||
'Programming Language :: Python :: 3', |
||||
'Programming Language :: Python :: 3.3', |
||||
'Programming Language :: Python :: 3.4', |
||||
'Programming Language :: Python :: 3.5', |
||||
'Programming Language :: Python :: 3.6', |
||||
'Programming Language :: Python :: Implementation :: CPython', |
||||
'Programming Language :: Python :: Implementation :: PyPy', |
||||
'Topic :: Office/Business :: Financial' |
||||
], |
||||
keywords=[ |
||||
'backtesting' |
||||
], |
||||
install_requires=[ |
||||
'naiback' |
||||
], |
||||
extras_require={ |
||||
}, |
||||
entry_points={ |
||||
}, |
||||
) |
||||
@ -0,0 +1,25 @@
@@ -0,0 +1,25 @@
|
||||
|
||||
from nailab.data.datasource import DataSource |
||||
|
||||
import glob |
||||
import os |
||||
|
||||
class CsvFolderDataSource(DataSource): |
||||
|
||||
def __init__(self, name, path): |
||||
super().__init__(name) |
||||
|
||||
self.path = path |
||||
self._discover_feeds() |
||||
self.feeds = [] |
||||
|
||||
def available_feeds(self): |
||||
return self.feeds |
||||
|
||||
def get_feed(self, feed_id): |
||||
pass |
||||
|
||||
def _discover_feeds(self): |
||||
files = glob.glob(self.path + '/*.csv') |
||||
self.feeds = [os.path.basename(f) for f in files] |
||||
|
||||
@ -0,0 +1,11 @@
@@ -0,0 +1,11 @@
|
||||
|
||||
class DataSource: |
||||
|
||||
def __init__(self, name): |
||||
self.name = name |
||||
|
||||
def available_feeds(self): |
||||
pass |
||||
|
||||
def get_feed(self, feed_id): |
||||
pass |
||||
@ -0,0 +1,21 @@
@@ -0,0 +1,21 @@
|
||||
|
||||
import gi |
||||
gi.require_version('Gtk', '3.0') |
||||
gi.require_version('GtkSource', '3.0') |
||||
from gi.repository import Gtk, GObject |
||||
from gi.repository import GtkSource |
||||
|
||||
from ui.applicationwindow import ApplicationWindow |
||||
|
||||
def main(): |
||||
GObject.type_register(GtkSource.View) |
||||
|
||||
builder = Gtk.Builder() |
||||
builder.add_from_file('ui/nailab.glade') |
||||
|
||||
ApplicationWindow(builder) |
||||
|
||||
Gtk.main() |
||||
|
||||
if __name__ == '__main__': |
||||
main() |
||||
@ -0,0 +1,21 @@
@@ -0,0 +1,21 @@
|
||||
|
||||
from gi.repository import Gtk, GtkSource |
||||
|
||||
class ApplicationWindow: |
||||
|
||||
def __init__(self, builder): |
||||
self.window = builder.get_object('ApplicationWindow') |
||||
manager = GtkSource.LanguageManager() |
||||
buf = GtkSource.Buffer() |
||||
buf.set_language(manager.get_language('python')) |
||||
sv = builder.get_object('sourceview') |
||||
sv.set_buffer(buf) |
||||
sv.set_monospace(True) |
||||
|
||||
handlers = { |
||||
'on_ApplicationWindow_delete_event' : Gtk.main_quit |
||||
} |
||||
|
||||
builder.connect_signals(handlers) |
||||
self.window.show_all() |
||||
|
||||
@ -0,0 +1,205 @@
@@ -0,0 +1,205 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!-- Generated with glade 3.18.3 --> |
||||
<interface> |
||||
<requires lib="gtk+" version="3.0"/> |
||||
<requires lib="gtksourceview" version="3.0"/> |
||||
<object class="GtkListStore" id="model_dataSources"/> |
||||
<object class="GtkTextTagTable" id="texttagtable"> |
||||
<child type="tag"> |
||||
<object class="GtkTextTag" id="default"> |
||||
<property name="font">Normal</property> |
||||
<property name="family">monospace</property> |
||||
</object> |
||||
</child> |
||||
</object> |
||||
<object class="GtkTextBuffer" id="textbuffer"> |
||||
<property name="tag_table">texttagtable</property> |
||||
<property name="text" translatable="yes"><default>foo</default></property> |
||||
</object> |
||||
<object class="GtkApplicationWindow" id="ApplicationWindow"> |
||||
<property name="width_request">1024</property> |
||||
<property name="height_request">768</property> |
||||
<property name="can_focus">False</property> |
||||
<property name="margin_bottom">2</property> |
||||
<signal name="delete-event" handler="on_ApplicationWindow_delete_event" swapped="no"/> |
||||
<child> |
||||
<object class="GtkFrame" id="frame1"> |
||||
<property name="visible">True</property> |
||||
<property name="can_focus">False</property> |
||||
<property name="label_xalign">0</property> |
||||
<property name="shadow_type">none</property> |
||||
<child> |
||||
<object class="GtkPaned" id="paned1"> |
||||
<property name="visible">True</property> |
||||
<property name="can_focus">True</property> |
||||
<property name="position">200</property> |
||||
<property name="position_set">True</property> |
||||
<child> |
||||
<object class="GtkTreeView" id="tv_datasources"> |
||||
<property name="visible">True</property> |
||||
<property name="can_focus">True</property> |
||||
<property name="model">model_dataSources</property> |
||||
<child internal-child="selection"> |
||||
<object class="GtkTreeSelection" id="treeview-selection1"/> |
||||
</child> |
||||
</object> |
||||
<packing> |
||||
<property name="resize">False</property> |
||||
<property name="shrink">True</property> |
||||
</packing> |
||||
</child> |
||||
<child> |
||||
<object class="GtkSourceView" id="sourceview"> |
||||
<property name="visible">True</property> |
||||
<property name="can_focus">True</property> |
||||
<property name="wrap_mode">word-char</property> |
||||
<property name="buffer">textbuffer</property> |
||||
<property name="monospace">True</property> |
||||
<property name="show_line_numbers">True</property> |
||||
<property name="show_line_marks">True</property> |
||||
<property name="tab_width">4</property> |
||||
<property name="auto_indent">True</property> |
||||
<property name="insert_spaces_instead_of_tabs">True</property> |
||||
<property name="highlight_current_line">True</property> |
||||
<property name="smart_backspace">True</property> |
||||
</object> |
||||
<packing> |
||||
<property name="resize">True</property> |
||||
<property name="shrink">True</property> |
||||
</packing> |
||||
</child> |
||||
</object> |
||||
</child> |
||||
<child type="label"> |
||||
<object class="GtkMenuBar" id="menubar3"> |
||||
<property name="visible">True</property> |
||||
<property name="can_focus">False</property> |
||||
<child> |
||||
<object class="GtkMenuItem" id="menuitem9"> |
||||
<property name="visible">True</property> |
||||
<property name="can_focus">False</property> |
||||
<property name="label" translatable="yes">_Файл</property> |
||||
<property name="use_underline">True</property> |
||||
<child type="submenu"> |
||||
<object class="GtkMenu" id="menu7"> |
||||
<property name="visible">True</property> |
||||
<property name="can_focus">False</property> |
||||
<child> |
||||
<object class="GtkImageMenuItem" id="imagemenuitem21"> |
||||
<property name="label">gtk-new</property> |
||||
<property name="visible">True</property> |
||||
<property name="can_focus">False</property> |
||||
<property name="use_underline">True</property> |
||||
<property name="use_stock">True</property> |
||||
</object> |
||||
</child> |
||||
<child> |
||||
<object class="GtkImageMenuItem" id="imagemenuitem22"> |
||||
<property name="label">gtk-open</property> |
||||
<property name="visible">True</property> |
||||
<property name="can_focus">False</property> |
||||
<property name="use_underline">True</property> |
||||
<property name="use_stock">True</property> |
||||
</object> |
||||
</child> |
||||
<child> |
||||
<object class="GtkImageMenuItem" id="imagemenuitem23"> |
||||
<property name="label">gtk-save</property> |
||||
<property name="visible">True</property> |
||||
<property name="can_focus">False</property> |
||||
<property name="use_underline">True</property> |
||||
<property name="use_stock">True</property> |
||||
</object> |
||||
</child> |
||||
<child> |
||||
<object class="GtkImageMenuItem" id="imagemenuitem24"> |
||||
<property name="label">gtk-save-as</property> |
||||
<property name="visible">True</property> |
||||
<property name="can_focus">False</property> |
||||
<property name="use_underline">True</property> |
||||
<property name="use_stock">True</property> |
||||
</object> |
||||
</child> |
||||
<child> |
||||
<object class="GtkSeparatorMenuItem" id="separatormenuitem3"> |
||||
<property name="visible">True</property> |
||||
<property name="can_focus">False</property> |
||||
</object> |
||||
</child> |
||||
<child> |
||||
<object class="GtkImageMenuItem" id="imagemenuitem25"> |
||||
<property name="label">gtk-quit</property> |
||||
<property name="visible">True</property> |
||||
<property name="can_focus">False</property> |
||||
<property name="use_underline">True</property> |
||||
<property name="use_stock">True</property> |
||||
</object> |
||||
</child> |
||||
</object> |
||||
</child> |
||||
</object> |
||||
</child> |
||||
<child> |
||||
<object class="GtkMenuItem" id="menuitem10"> |
||||
<property name="visible">True</property> |
||||
<property name="can_focus">False</property> |
||||
<property name="label" translatable="yes">_Правка</property> |
||||
<property name="use_underline">True</property> |
||||
<child type="submenu"> |
||||
<object class="GtkMenu" id="menu8"> |
||||
<property name="visible">True</property> |
||||
<property name="can_focus">False</property> |
||||
<child> |
||||
<object class="GtkImageMenuItem" id="imagemenuitem26"> |
||||
<property name="label">gtk-cut</property> |
||||
<property name="visible">True</property> |
||||
<property name="can_focus">False</property> |
||||
<property name="use_underline">True</property> |
||||
<property name="use_stock">True</property> |
||||
</object> |
||||
</child> |
||||
<child> |
||||
<object class="GtkImageMenuItem" id="imagemenuitem27"> |
||||
<property name="label">gtk-copy</property> |
||||
<property name="visible">True</property> |
||||
<property name="can_focus">False</property> |
||||
<property name="use_underline">True</property> |
||||
<property name="use_stock">True</property> |
||||
</object> |
||||
</child> |
||||
<child> |
||||
<object class="GtkImageMenuItem" id="imagemenuitem28"> |
||||
<property name="label">gtk-paste</property> |
||||
<property name="visible">True</property> |
||||
<property name="can_focus">False</property> |
||||
<property name="use_underline">True</property> |
||||
<property name="use_stock">True</property> |
||||
</object> |
||||
</child> |
||||
<child> |
||||
<object class="GtkImageMenuItem" id="imagemenuitem29"> |
||||
<property name="label">gtk-delete</property> |
||||
<property name="visible">True</property> |
||||
<property name="can_focus">False</property> |
||||
<property name="use_underline">True</property> |
||||
<property name="use_stock">True</property> |
||||
</object> |
||||
</child> |
||||
</object> |
||||
</child> |
||||
</object> |
||||
</child> |
||||
<child> |
||||
<object class="GtkMenuItem" id="menuitem11"> |
||||
<property name="visible">True</property> |
||||
<property name="can_focus">False</property> |
||||
<property name="label" translatable="yes">_Вид</property> |
||||
<property name="use_underline">True</property> |
||||
</object> |
||||
</child> |
||||
</object> |
||||
</child> |
||||
</object> |
||||
</child> |
||||
</object> |
||||
</interface> |
||||
Loading…
Reference in new issue