diff --git a/error_files/error_search b/error_files/error_search new file mode 100644 index 0000000..4141183 --- /dev/null +++ b/error_files/error_search @@ -0,0 +1,20 @@ +Traceback (most recent call last): + File "./librarian.py", line 134, in + curses.wrapper(menutest, m) + File "/usr/lib/python3.2/curses/wrapper.py", line 43, in wrapper + return func(stdscr, *args, **kwds) + File "./librarian.py", line 29, in menutest + menu(w, l) + File "./librarian.py", line 66, in menu + f() + File "./librarian.py", line 115, in browseMenu + b.eventLoop() + File "/users/jladan/src/library/browser.py", line 180, in eventLoop + ch = self.handleInput(ch) + File "/users/jladan/src/library/browser.py", line 366, in handleInput + browserWindow.handleInput(self,ch) + File "/users/jladan/src/library/browser.py", line 203, in handleInput + string = self.hb.getSearch() + File "/users/jladan/src/library/help_bar.py", line 61, in getSearch + string = string + char +TypeError: Can't convert 'bytes' object to str implicitly diff --git a/librarian.py b/librarian similarity index 95% rename from librarian.py rename to librarian index edabe4c..7f0f8ca 100755 --- a/librarian.py +++ b/librarian @@ -1,14 +1,14 @@ #!/usr/bin/env python3 import curses -import db_layer as db -import browser -import form -import help_bar as helpBar +import library.database as db +import library.interface.browser as browser +import library.interface.form as form +import library.interface.help_bar as helpBar +import library.interface.checkout as co -import book_data +from library import book_data -import checkout as co stdscr=0 diff --git a/library/__init__.py b/library/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/book_data.py b/library/book_data.py similarity index 99% rename from book_data.py rename to library/book_data.py index 4ade5dc..6a4f4ca 100644 --- a/book_data.py +++ b/library/book_data.py @@ -6,7 +6,6 @@ except ImportError: from urllib2 import urlopen,URLError from json import loads,dumps from socket import timeout -import sys """ Library Book Type Description: The book is a dictionary of the form { string : a, ... } diff --git a/db_layer.py b/library/database.py similarity index 99% rename from db_layer.py rename to library/database.py index 6a2b691..45ad4e6 100644 --- a/db_layer.py +++ b/library/database.py @@ -1,7 +1,6 @@ -import sys import sqlite3 -import permissions +from library import permissions _catalogue_db_file = '/users/libcom/catalogue.db' _book_table = 'books' diff --git a/exceptions.py b/library/exceptions.py similarity index 100% rename from exceptions.py rename to library/exceptions.py diff --git a/library/interface/__init__.py b/library/interface/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/browser.py b/library/interface/browser.py similarity index 98% rename from browser.py rename to library/interface/browser.py index b384728..b460b96 100644 --- a/browser.py +++ b/library/interface/browser.py @@ -1,7 +1,6 @@ -import sys import curses -import db_layer as db -from form import BookForm,CategoryForm +import library.database as db +from library.interface.form import BookForm,CategoryForm class browserWindow: # These are actually class variables, not member variables? :< @@ -26,7 +25,6 @@ class browserWindow: if not(height and width): height = browserWindow._default_height width = browserWindow._default_width - sys.stderr.write(str(height)+', '+str(width)+'\n') self.w = window self.hb = helpbar self.w.resize(height,width) @@ -135,7 +133,6 @@ class browserWindow: def search(self, string): case_sensitive = not(string.islower()) - #sys.stderr.write(str(case_sensitive)+'\n') i = 0 found = False for e in self.entries: diff --git a/checkout.py b/library/interface/checkout.py similarity index 96% rename from checkout.py rename to library/interface/checkout.py index 02227c2..59ef6a4 100644 --- a/checkout.py +++ b/library/interface/checkout.py @@ -1,7 +1,6 @@ -import sys import curses -from form import FormWindow,BookForm -import db_layer as db +from library.interface.form import FormWindow,BookForm +import library.database as db class BookIDForm(FormWindow): diff --git a/form.py b/library/interface/form.py similarity index 96% rename from form.py rename to library/interface/form.py index d084c75..839a41b 100644 --- a/form.py +++ b/library/interface/form.py @@ -1,5 +1,4 @@ import curses -import sys class TextEntry: @@ -44,7 +43,6 @@ class TextEntry: self.redraw() def gain_focus(self): - #sys.stderr.write('I have focus!\n') self.focus = True self._mv_cursor(+len(self.value)) self.start = max(0,self.cursor-self.width) @@ -150,7 +148,6 @@ class FormWindow: ch = self.w.getch() while ch != 27: - #sys.stderr.write(curses.keyname(ch).decode('utf-8')) self.handle_input(ch) if ch==10 or ch==curses.KEY_ENTER: if self.bt==0: @@ -187,12 +184,9 @@ class FormWindow: def _set_entries(self,book): e = 0 for l in self.labels: - #sys.stderr.write('updating label: '+l+'\n') if l.lower() in book: - #sys.stderr.write(' '+l+' found\n') self.entries[e].value = str(book[l.lower()]) else: - #sys.stderr.write(' '+l+' notfound\n') self.entries[e].value = "" e += 1 @@ -303,7 +297,6 @@ class BookForm(FormWindow): if self.hl==0: # lookup by isbn book = self.lookup_isbn(self.entries[0].value) if book != {}: - #sys.stderr.write('updating entries\n') self._set_entries(book) self.refresh() self._mv_focus(+7) diff --git a/help_bar.py b/library/interface/help_bar.py similarity index 100% rename from help_bar.py rename to library/interface/help_bar.py diff --git a/permissions.py b/library/permissions.py similarity index 97% rename from permissions.py rename to library/permissions.py index 232a05c..eb4003e 100644 --- a/permissions.py +++ b/library/permissions.py @@ -1,7 +1,7 @@ import grp import os -import exceptions +from library import exceptions class _PermissionLevel: def __init__(self, group_name, pretty_name): diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..91a9e7e --- /dev/null +++ b/setup.py @@ -0,0 +1,8 @@ +from distutils.core import setup +setup(name="librarian", + description="Library Management Software for CSC", + author="jladan" + version="1.0", + packages=['library','library.interface'] + scripts=["librarian"] + )