Browse Source

Initial commit

master
Denis Tereshkin 8 years ago
commit
02f38da1a6
  1. 7
      .gitignore
  2. 0
      CHANGELOG.rst
  3. 0
      README.rst
  4. 70
      setup.py
  5. 0
      src/nailab/__init__.py
  6. 25
      src/nailab/data/csvfolderdatasource.py
  7. 11
      src/nailab/data/datasource.py
  8. 21
      src/nailab/nailab.py
  9. 21
      src/nailab/ui/applicationwindow.py
  10. 205
      src/nailab/ui/nailab.glade

7
.gitignore vendored

@ -0,0 +1,7 @@
.*
bin/*
dist/*
build/*
*.pyc
src/*.egg-info/*

0
CHANGELOG.rst

0
README.rst

70
setup.py

@ -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
src/nailab/__init__.py

25
src/nailab/data/csvfolderdatasource.py

@ -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]

11
src/nailab/data/datasource.py

@ -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

21
src/nailab/nailab.py

@ -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()

21
src/nailab/ui/applicationwindow.py

@ -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()

205
src/nailab/ui/nailab.glade

@ -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">&lt;default&gt;foo&lt;/default&gt;</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…
Cancel
Save