1
0
mirror of https://github.com/gryf/pygtktalog.git synced 2025-12-17 19:40:21 +01:00

* Added CZYTAJTO (polish README file).

* Changed katalog file extension from .pgt into or .tgz.
 * Removed compression choice form preferences.
This commit is contained in:
2008-05-14 11:29:13 +00:00
parent e51a447809
commit 453fb848aa
4 changed files with 92 additions and 222 deletions

11
README
View File

@@ -25,14 +25,12 @@ REQUIREMENTS
pyGTKtalog is written in python with following dependencies: pyGTKtalog is written in python with following dependencies:
- python 2.4 or higher - python 2.4 or higher
- pygtk <http://www.pygtk.org> - pygtk 2.10 or higher <http://www.pygtk.org>
- pysqlite2 <http://pysqlite.org/> (unnecessary, if python 2.5 is used) - pysqlite2 <http://pysqlite.org/> (unnecessary, if python 2.5 is used)
Optional modules: Optional modules:
- PIL <http://www.pythonware.com/products/pil/index.htm> for image manipulation - PIL <http://www.pythonware.com/products/pil/index.htm> for image manipulation
- pyExcelerator <http://sourceforge.net/projects/pyexcelerator> for export to
excel capability
Additional pyGTKtalog uses pygtkmvc <http://pygtkmvc.sourceforge.net> by Roberto Additional pyGTKtalog uses pygtkmvc <http://pygtkmvc.sourceforge.net> by Roberto
Cavada and EXIF module by Gene Cash (slightly updatetd to EXIF 2.2 by me) which Cavada and EXIF module by Gene Cash (slightly updatetd to EXIF 2.2 by me) which
@@ -118,14 +116,13 @@ Removed:
- anidb link/imdb link - anidb link/imdb link
Maybe in future versions. Now text file descriptions/notes and tags have to Maybe in future versions. Now text file descriptions/notes and tags have to
be enough for good and fast information search. be enough for good and fast information search.
- file information (date, size, etc) (50%) (no need for?)
NOTES NOTES
===== =====
Catalog file is tared and optionaly gziped sqlite database and directories with Catalog file is tared and gziped sqlite database and directories with images and
images and thumbnails. If there are more images, the size of catalog file will thumbnails. If there are more images, the size of catalog file will grow. So be
grow. So be carefull with adding big images in your catalog file! carefull with adding big images in your catalog file!
BUGS BUGS
==== ====

View File

@@ -89,16 +89,57 @@
<property name="column_spacing">3</property> <property name="column_spacing">3</property>
<property name="row_spacing">3</property> <property name="row_spacing">3</property>
<child> <child>
<widget class="GtkLabel" id="label5"> <widget class="GtkLabel" id="label4">
<property name="visible">True</property> <property name="visible">True</property>
<property name="xalign">0</property> <property name="xalign">0</property>
<property name="label" translatable="yes">Eject program:</property> <property name="label" translatable="yes">Mount point:</property>
<property name="mnemonic_widget">ejt_entry</property> <property name="mnemonic_widget">mnt_entry</property>
</widget> </widget>
<packing> <packing>
<property name="x_options"></property>
<property name="y_options"></property>
</packing>
</child>
<child>
<widget class="GtkEntry" id="mnt_entry">
<property name="width_request">100</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="y_options"></property>
</packing>
</child>
<child>
<widget class="GtkButton" id="button_mnt">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Browse...</property>
<property name="use_underline">True</property>
<property name="response_id">0</property>
<signal name="clicked" handler="on_button_mnt_clicked"/>
<signal name="activate" handler="on_button_mnt_activate"/>
</widget>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="x_options"></property>
<property name="y_options"></property>
</packing>
</child>
<child>
<widget class="GtkEntry" id="ejt_entry">
<property name="width_request">100</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">1</property> <property name="top_attach">1</property>
<property name="bottom_attach">2</property> <property name="bottom_attach">2</property>
<property name="x_options"></property>
<property name="y_options"></property> <property name="y_options"></property>
</packing> </packing>
</child> </child>
@@ -122,56 +163,15 @@
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkEntry" id="ejt_entry"> <widget class="GtkLabel" id="label5">
<property name="width_request">100</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="y_options"></property>
</packing>
</child>
<child>
<widget class="GtkButton" id="button_mnt">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">Browse...</property>
<property name="use_underline">True</property>
<property name="response_id">0</property>
<signal name="clicked" handler="on_button_mnt_clicked"/>
<signal name="activate" handler="on_button_mnt_activate"/>
</widget>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="x_options"></property>
<property name="y_options"></property>
</packing>
</child>
<child>
<widget class="GtkEntry" id="mnt_entry">
<property name="width_request">100</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="y_options"></property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label4">
<property name="visible">True</property> <property name="visible">True</property>
<property name="xalign">0</property> <property name="xalign">0</property>
<property name="label" translatable="yes">Mount point:</property> <property name="label" translatable="yes">Eject program:</property>
<property name="mnemonic_widget">mnt_entry</property> <property name="mnemonic_widget">ejt_entry</property>
</widget> </widget>
<packing> <packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
<property name="x_options"></property> <property name="x_options"></property>
<property name="y_options"></property> <property name="y_options"></property>
</packing> </packing>
@@ -257,7 +257,6 @@
</child> </child>
<child> <child>
<widget class="GtkCheckButton" id="ch_compress"> <widget class="GtkCheckButton" id="ch_compress">
<property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="label" translatable="yes">Compress collection</property> <property name="label" translatable="yes">Compress collection</property>
<property name="use_underline">True</property> <property name="use_underline">True</property>
@@ -293,18 +292,14 @@
<property name="column_spacing">3</property> <property name="column_spacing">3</property>
<property name="row_spacing">3</property> <property name="row_spacing">3</property>
<child> <child>
<widget class="GtkButton" id="button_imv"> <widget class="GtkLabel" id="label_imv">
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property> <property name="sensitive">False</property>
<property name="can_focus">True</property> <property name="xalign">0</property>
<property name="label" translatable="yes">Browse...</property> <property name="label" translatable="yes">Image viewer:</property>
<property name="use_underline">True</property> <property name="mnemonic_widget">mnt_entry</property>
<property name="response_id">0</property>
<signal name="clicked" handler="on_button_imv_clicked"/>
</widget> </widget>
<packing> <packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="x_options"></property> <property name="x_options"></property>
<property name="y_options"></property> <property name="y_options"></property>
</packing> </packing>
@@ -323,14 +318,18 @@
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkLabel" id="label_imv"> <widget class="GtkButton" id="button_imv">
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property> <property name="sensitive">False</property>
<property name="xalign">0</property> <property name="can_focus">True</property>
<property name="label" translatable="yes">Image viewer:</property> <property name="label" translatable="yes">Browse...</property>
<property name="mnemonic_widget">mnt_entry</property> <property name="use_underline">True</property>
<property name="response_id">0</property>
<signal name="clicked" handler="on_button_imv_clicked"/>
</widget> </widget>
<packing> <packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="x_options"></property> <property name="x_options"></property>
<property name="y_options"></property> <property name="y_options"></property>
</packing> </packing>
@@ -612,7 +611,7 @@
<property name="n_columns">2</property> <property name="n_columns">2</property>
<property name="row_spacing">3</property> <property name="row_spacing">3</property>
<child> <child>
<widget class="GtkEntry" id="com_entry"> <widget class="GtkEntry" id="ext_entry">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
@@ -620,19 +619,6 @@
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
<property name="right_attach">2</property> <property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
</packing>
</child>
<child>
<widget class="GtkLabel" id="label6">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes">Command:</property>
</widget>
<packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
</packing> </packing>
</child> </child>
<child> <child>
@@ -648,7 +634,18 @@
</packing> </packing>
</child> </child>
<child> <child>
<widget class="GtkEntry" id="ext_entry"> <widget class="GtkLabel" id="label6">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="label" translatable="yes">Command:</property>
</widget>
<packing>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
</packing>
</child>
<child>
<widget class="GtkEntry" id="com_entry">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
@@ -656,6 +653,8 @@
<packing> <packing>
<property name="left_attach">1</property> <property name="left_attach">1</property>
<property name="right_attach">2</property> <property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
</packing> </packing>
</child> </child>
</widget> </widget>

View File

@@ -1,130 +0,0 @@
<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
<glade-interface>
<widget class="GtkWindow" id="window1">
<property name="visible">True</property>
<property name="title" translatable="yes">window1</property>
<property name="type">GTK_WINDOW_TOPLEVEL</property>
<property name="window_position">GTK_WIN_POS_NONE</property>
<property name="modal">False</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
<property name="decorated">True</property>
<property name="skip_taskbar_hint">False</property>
<property name="skip_pager_hint">False</property>
<property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
<property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
<property name="focus_on_map">True</property>
<property name="urgency_hint">False</property>
<signal name="delete_event" handler="on_window1_delete_event" last_modification_time="Mon, 30 Apr 2007 10:09:49 GMT"/>
<child>
<widget class="GtkFrame" id="frame1">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="label_yalign">0.5</property>
<property name="shadow_type">GTK_SHADOW_NONE</property>
<child>
<widget class="GtkAlignment" id="alignment1">
<property name="visible">True</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xscale">1</property>
<property name="yscale">1</property>
<property name="top_padding">0</property>
<property name="bottom_padding">0</property>
<property name="left_padding">12</property>
<property name="right_padding">0</property>
<child>
<widget class="GtkVBox" id="vbox1">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
<widget class="GtkLabel" id="label2">
<property name="visible">True</property>
<property name="label" translatable="yes">label2</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
<child>
<widget class="GtkHSeparator" id="hseparator1">
<property name="visible">True</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">True</property>
<property name="fill">True</property>
</packing>
</child>
<child>
<widget class="GtkButton" id="button1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">button1</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</property>
</packing>
</child>
</widget>
</child>
</widget>
</child>
<child>
<widget class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="label" translatable="yes">&lt;b&gt;frame1&lt;/b&gt;</property>
<property name="use_underline">False</property>
<property name="use_markup">True</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
<property name="angle">0</property>
</widget>
<packing>
<property name="type">label_item</property>
</packing>
</child>
</widget>
</child>
</widget>
</glade-interface>

View File

@@ -281,6 +281,7 @@ class ChooseDBFilename(object):
f = gtk.FileFilter() f = gtk.FileFilter()
f.set_name("Catalog files") f.set_name("Catalog files")
f.add_pattern("*.pgt") f.add_pattern("*.pgt")
f.add_pattern("*.pgt.tgz")
self.dialog.add_filter(f) self.dialog.add_filter(f)
f = gtk.FileFilter() f = gtk.FileFilter()
f.set_name("All files") f.set_name("All files")
@@ -297,13 +298,15 @@ class ChooseDBFilename(object):
response = self.dialog.run() response = self.dialog.run()
if response == gtk.RESPONSE_OK: if response == gtk.RESPONSE_OK:
filename = self.dialog.get_filename() filename = self.dialog.get_filename()
if filename[-4] == '.': print filename, ' do ',
if filename[-3:].lower() != 'pgt': if filename[-8:].lower() != '.pgt.tgz' and \
filename = filename + '.pgt' filename[-4:].lower() != '.pgt':
else: filename = filename + '.pgt.tgz'
filename = filename[:-3] + 'pgt' elif filename[-4:].lower() == '.pgt':
filename = filename[:-4] + '.pgt.tgz'
else: else:
filename = filename + '.pgt' filename = filename[:-8] + '.pgt.tgz'
print filename
self.__class__.URI = self.dialog.get_current_folder_uri() self.__class__.URI = self.dialog.get_current_folder_uri()
self.dialog.destroy() self.dialog.destroy()
return filename return filename
@@ -316,7 +319,7 @@ class LoadDBFile(object):
"""Specific class for displaying openFile dialog. It has veryfication """Specific class for displaying openFile dialog. It has veryfication
for file existence.""" for file existence."""
URI=None URI = None
def __init__(self, path=None): def __init__(self, path=None):
self.path = path self.path = path
@@ -335,6 +338,7 @@ class LoadDBFile(object):
f = gtk.FileFilter() f = gtk.FileFilter()
f.set_name("Catalog files") f.set_name("Catalog files")
f.add_pattern("*.pgt") f.add_pattern("*.pgt")
f.add_pattern("*.pgt.tgz")
self.dialog.add_filter(f) self.dialog.add_filter(f)
f = gtk.FileFilter() f = gtk.FileFilter()
f.set_name("All files") f.set_name("All files")