From 61d862d702b7a88174c4105488b2035b82fae616 Mon Sep 17 00:00:00 2001 From: Rajeesh K Nambiar Date: Fri, 16 Jan 2009 00:04:46 +0530 Subject: Re-organize Chathans files --- pychathans/chathans.py | 201 +++++++++++++++++++++++++++++++++++++++++++++ pychathans/setup.py | 19 ----- pychathans/src/__init__.py | 6 -- pychathans/src/chathans | 201 --------------------------------------------- 4 files changed, 201 insertions(+), 226 deletions(-) create mode 100755 pychathans/chathans.py delete mode 100755 pychathans/setup.py delete mode 100755 pychathans/src/__init__.py delete mode 100755 pychathans/src/chathans (limited to 'pychathans') diff --git a/pychathans/chathans.py b/pychathans/chathans.py new file mode 100755 index 0000000..4738fe7 --- /dev/null +++ b/pychathans/chathans.py @@ -0,0 +1,201 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# chathans.py +# +# Copyright (c) 2009 Rajeesh K Nambiar +# http://smc.org.in/ +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +import os +import sys +import string + +try: + import gtk +except ImportError: + ''' ചാത്തന്‍സിന് കള്‍സില്ലെന്നോ? ''' + print "Chathans requires PyGTK" + raise SystemExit + +try: + from payyans import Payyans +except ImportError: + ''' ഹൈയ്, പയ്യന്റെ ദുര്‍ജ്ജനസംസര്‍ഗ്ഗമില്ലാതെ നോം സാധനം തൊടാറില്ല! ''' + print "Chathans require Payyans" + raise SystemExit + +name = "Chathans" +version = "0.2" +title = name + " " + version + +class Chathans (gtk.Window): + ''' ചാത്തന്‍സ് അഥവാ സര്‍ ചാത്തു. വിക്ടോറിയാ രാജ്ഞിയില്‍ നിന്നും നേരിട്ട് പ്രഭുത്വം ! ''' + def __init__(self): + self.AsciiFile = None + self.MappingFile = None + self.UnicodeFile = None + self.PdfFile = None + self.__init_gui() + + def __init_gui(self): + ''' പൂമുഖം തുറന്ന്, ദര്‍ശനം നല്‍കാം... ''' + gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL) + self.set_title(title) + self.set_default_size(340, 160) + self.set_position(gtk.WIN_POS_CENTER_ALWAYS) + self.connect("destroy", self.__quit) + + # ലേബലടിക്ക്. + ascii_lbl = gtk.Label("ASCII File : ") + mapping_lbl = gtk.Label("Mapping File : ") + unicode_lbl = gtk.Label("Unicode File : ") + + # പ്രമാണോം പത്രോം ആധാരോം എടുക്ക്വാ.. + ascii_btn = gtk.FileChooserButton("Select the ASCII File (.txt,.pdf)") + mapping_btn = gtk.FileChooserButton("Select the ASCII-Unicode Mapping File") + unicode_btn = gtk.FileChooserButton("Select Output Unicode File") + + # മാപ്പ്, സാധാരണ എവിടെ കിട്ടും? അല്ല, എവിടെ കിട്ടും? + mapping_dir = sys.prefix + "/share/payyans/maps/" + mapping_btn.set_current_folder(mapping_dir) + + # Define the Actions. Lets get some action, baby! + convert_btn = gtk.Button("Convert", gtk.STOCK_CONVERT) + convert_btn.connect("clicked", self.__convert_file) + cancel_btn = gtk.Button("Quit", gtk.STOCK_QUIT) + cancel_btn.connect("clicked", self.__quit) + about_btn = gtk.Button("About", gtk.STOCK_ABOUT) + about_btn.connect("clicked", self.__show_about) + + # Add File Filter for ASCII input file. അരിപ്പ! + ascii_filter = gtk.FileFilter() + ascii_filter.set_name("*.txt,*.pdf") + ascii_filter.add_pattern("*.[Tt][Xx][Tt]") + ascii_filter.add_pattern("*.[Pp][Dd][Ff]") + ascii_btn.add_filter(ascii_filter) + + self.ascii_btn = ascii_btn + self.mapping_btn = mapping_btn + self.unicode_btn = unicode_btn + + # Pack the widgets. പാക്കു ചെയ്യ്, പാക്കു വെട്ട്. + hbox1 = gtk.HBox() + hbox1.set_border_width(4) + hbox1.pack_start(ascii_lbl) + hbox1.pack_end(ascii_btn) + + hbox2 = gtk.HBox() + hbox2.set_border_width(4) + hbox2.pack_start(mapping_lbl) + hbox2.pack_end(mapping_btn) + + hbox3 = gtk.HBox() + hbox3.set_border_width(4) + hbox3.pack_start(unicode_lbl) + hbox3.pack_end(unicode_btn) + + btn_box = gtk.HButtonBox() + btn_box.set_border_width(4) + btn_box.pack_start(convert_btn) + btn_box.pack_start(about_btn) + btn_box.pack_start(cancel_btn) + + vbox1 = gtk.VBox() + vbox1.set_border_width(4) + vbox1.pack_start(hbox1) + vbox1.pack_start(hbox2) + vbox1.pack_start(hbox3) + vbox1.pack_end(btn_box) + + frame = gtk.Frame() + frame.set_border_width(5) + frame.add(vbox1) + self.add(frame) + + self.show_all() + + def __convert_file(self, event): + ''' പയ്യനെ വിളിക്ക്യാ, ഇനി നോം ഗ്യാലറിയിലിരുന്ന് കളി കാണട്ടെ. ''' + self.AsciiFile = self.ascii_btn.get_filename() + self.MappingFile = self.mapping_btn.get_filename() + self.UnicodeFile = self.unicode_btn.get_filename() + + if ( self.AsciiFile == None + or self.MappingFile == None ): + dlg = gtk.MessageDialog(self.get_toplevel(), + gtk.DIALOG_MODAL, + gtk.MESSAGE_INFO, + gtk.BUTTONS_OK, + "Please select both ASCII file and Mapping file") + dlg.run() + dlg.destroy() + return + + if self.UnicodeFile == None: + (inp_file, inp_ext) = os.path.splitext(self.AsciiFile) + self.UnicodeFile = inp_file + "-unicode" + ".txt" + + # ഓഹ്, പയ്യന്‍! നീ വ്യാഘ്രമാകുന്നു. + payyan = Payyans(self.AsciiFile, self.UnicodeFile, self.MappingFile) + status = payyan.ascii2unicode() + print status + if status == None: + msg = "Coversion Done - Unicode file :" + self.UnicodeFile + if status == 1: + msg = "Could not find the pdftotext utility. Exiting..." + if status == 2: + msg = "Syntax Error in Mapping file. Exiting..." + # കത്തിച്ചു കഴിഞ്ഞു. + dlg = gtk.MessageDialog(self.get_toplevel(), + gtk.DIALOG_MODAL, + gtk.MESSAGE_INFO, + gtk.BUTTONS_OK, + msg) + dlg.run() + dlg.destroy() + + return + + def __show_about(self, event): + ''' അധികപ്രസംഗം !!! ''' + dlg = gtk.AboutDialog() + dlg.set_name(name) + dlg.set_version(version) + autxt1 = "Chathans frontend : Rajeesh K Nambiar " + autxt2 = "Payyans : Santhosh Thottingal, Nishan Naseer, Manu S Madhav" + authors = ["\n" + autxt1 + "\n" + autxt2] + dlg.set_authors(authors) + dlg.set_copyright("Copyright (c) Rajeesh K Nambiar") + dlg.set_license("Licensed under GNU GPL version 3") + dlg.set_website("http://smc.org.in/Payyans") + + dlg.run() + dlg.destroy() + + def __quit(self, event): + ''' ന്നാ, കട്ടേം പടോം മടക്കാം ! ''' + dlg = gtk.MessageDialog(self.get_toplevel(), + gtk.DIALOG_MODAL, + gtk.MESSAGE_QUESTION, + gtk.BUTTONS_YES_NO, + "Do you really want to Quit?") + if ( dlg.run() == gtk.RESPONSE_YES ): + dlg.destroy() + gtk.main_quit() + dlg.destroy() + return + + +if __name__ == '__main__': + chathans = Chathans() + gtk.main() diff --git a/pychathans/setup.py b/pychathans/setup.py deleted file mode 100755 index 5189449..0000000 --- a/pychathans/setup.py +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env python -"""Chathans is a GUI for the ASCII to Unicode converter, Payyans.It is written in PyGTK. """ -from distutils.core import setup - -doclines = __doc__.split("\n") -setup(name='chathans', - version='0.2', - description=doclines[0], - long_description = "\n".join(doclines[:]), - platforms = ["Linux"], - requires = ["payyans"], - author='Rajeesh K Nambiar', - author_email='rajeeshknambiar@gmail.com', - url='http://wiki.smc.org.in/Chathans', - license = 'http://www.gnu.org/copyleft/gpl.html', - packages=['src'], - data_files=[('/usr/bin',['src/chathans']), - ('/usr/share/doc/chathans-0.2',['doc/README','doc/LICENSE'])] - ) diff --git a/pychathans/src/__init__.py b/pychathans/src/__init__.py deleted file mode 100755 index 558c00b..0000000 --- a/pychathans/src/__init__.py +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env python -# Copyright 2008 Santhosh Thottingal , Nishan Naseer , Rajeesh K Nambiar -# http://www.smc.org.in -"""Chathans is a GUI for the ASCII to Unicode converter, Payyans.It is written in PyGTK.""" - -__AUTHORS__ = [ ( "Rajeesh K Nambiar", "rajeeshknambiar@gmail.com")] diff --git a/pychathans/src/chathans b/pychathans/src/chathans deleted file mode 100755 index 4738fe7..0000000 --- a/pychathans/src/chathans +++ /dev/null @@ -1,201 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# -# chathans.py -# -# Copyright (c) 2009 Rajeesh K Nambiar -# http://smc.org.in/ -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -import os -import sys -import string - -try: - import gtk -except ImportError: - ''' ചാത്തന്‍സിന് കള്‍സില്ലെന്നോ? ''' - print "Chathans requires PyGTK" - raise SystemExit - -try: - from payyans import Payyans -except ImportError: - ''' ഹൈയ്, പയ്യന്റെ ദുര്‍ജ്ജനസംസര്‍ഗ്ഗമില്ലാതെ നോം സാധനം തൊടാറില്ല! ''' - print "Chathans require Payyans" - raise SystemExit - -name = "Chathans" -version = "0.2" -title = name + " " + version - -class Chathans (gtk.Window): - ''' ചാത്തന്‍സ് അഥവാ സര്‍ ചാത്തു. വിക്ടോറിയാ രാജ്ഞിയില്‍ നിന്നും നേരിട്ട് പ്രഭുത്വം ! ''' - def __init__(self): - self.AsciiFile = None - self.MappingFile = None - self.UnicodeFile = None - self.PdfFile = None - self.__init_gui() - - def __init_gui(self): - ''' പൂമുഖം തുറന്ന്, ദര്‍ശനം നല്‍കാം... ''' - gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL) - self.set_title(title) - self.set_default_size(340, 160) - self.set_position(gtk.WIN_POS_CENTER_ALWAYS) - self.connect("destroy", self.__quit) - - # ലേബലടിക്ക്. - ascii_lbl = gtk.Label("ASCII File : ") - mapping_lbl = gtk.Label("Mapping File : ") - unicode_lbl = gtk.Label("Unicode File : ") - - # പ്രമാണോം പത്രോം ആധാരോം എടുക്ക്വാ.. - ascii_btn = gtk.FileChooserButton("Select the ASCII File (.txt,.pdf)") - mapping_btn = gtk.FileChooserButton("Select the ASCII-Unicode Mapping File") - unicode_btn = gtk.FileChooserButton("Select Output Unicode File") - - # മാപ്പ്, സാധാരണ എവിടെ കിട്ടും? അല്ല, എവിടെ കിട്ടും? - mapping_dir = sys.prefix + "/share/payyans/maps/" - mapping_btn.set_current_folder(mapping_dir) - - # Define the Actions. Lets get some action, baby! - convert_btn = gtk.Button("Convert", gtk.STOCK_CONVERT) - convert_btn.connect("clicked", self.__convert_file) - cancel_btn = gtk.Button("Quit", gtk.STOCK_QUIT) - cancel_btn.connect("clicked", self.__quit) - about_btn = gtk.Button("About", gtk.STOCK_ABOUT) - about_btn.connect("clicked", self.__show_about) - - # Add File Filter for ASCII input file. അരിപ്പ! - ascii_filter = gtk.FileFilter() - ascii_filter.set_name("*.txt,*.pdf") - ascii_filter.add_pattern("*.[Tt][Xx][Tt]") - ascii_filter.add_pattern("*.[Pp][Dd][Ff]") - ascii_btn.add_filter(ascii_filter) - - self.ascii_btn = ascii_btn - self.mapping_btn = mapping_btn - self.unicode_btn = unicode_btn - - # Pack the widgets. പാക്കു ചെയ്യ്, പാക്കു വെട്ട്. - hbox1 = gtk.HBox() - hbox1.set_border_width(4) - hbox1.pack_start(ascii_lbl) - hbox1.pack_end(ascii_btn) - - hbox2 = gtk.HBox() - hbox2.set_border_width(4) - hbox2.pack_start(mapping_lbl) - hbox2.pack_end(mapping_btn) - - hbox3 = gtk.HBox() - hbox3.set_border_width(4) - hbox3.pack_start(unicode_lbl) - hbox3.pack_end(unicode_btn) - - btn_box = gtk.HButtonBox() - btn_box.set_border_width(4) - btn_box.pack_start(convert_btn) - btn_box.pack_start(about_btn) - btn_box.pack_start(cancel_btn) - - vbox1 = gtk.VBox() - vbox1.set_border_width(4) - vbox1.pack_start(hbox1) - vbox1.pack_start(hbox2) - vbox1.pack_start(hbox3) - vbox1.pack_end(btn_box) - - frame = gtk.Frame() - frame.set_border_width(5) - frame.add(vbox1) - self.add(frame) - - self.show_all() - - def __convert_file(self, event): - ''' പയ്യനെ വിളിക്ക്യാ, ഇനി നോം ഗ്യാലറിയിലിരുന്ന് കളി കാണട്ടെ. ''' - self.AsciiFile = self.ascii_btn.get_filename() - self.MappingFile = self.mapping_btn.get_filename() - self.UnicodeFile = self.unicode_btn.get_filename() - - if ( self.AsciiFile == None - or self.MappingFile == None ): - dlg = gtk.MessageDialog(self.get_toplevel(), - gtk.DIALOG_MODAL, - gtk.MESSAGE_INFO, - gtk.BUTTONS_OK, - "Please select both ASCII file and Mapping file") - dlg.run() - dlg.destroy() - return - - if self.UnicodeFile == None: - (inp_file, inp_ext) = os.path.splitext(self.AsciiFile) - self.UnicodeFile = inp_file + "-unicode" + ".txt" - - # ഓഹ്, പയ്യന്‍! നീ വ്യാഘ്രമാകുന്നു. - payyan = Payyans(self.AsciiFile, self.UnicodeFile, self.MappingFile) - status = payyan.ascii2unicode() - print status - if status == None: - msg = "Coversion Done - Unicode file :" + self.UnicodeFile - if status == 1: - msg = "Could not find the pdftotext utility. Exiting..." - if status == 2: - msg = "Syntax Error in Mapping file. Exiting..." - # കത്തിച്ചു കഴിഞ്ഞു. - dlg = gtk.MessageDialog(self.get_toplevel(), - gtk.DIALOG_MODAL, - gtk.MESSAGE_INFO, - gtk.BUTTONS_OK, - msg) - dlg.run() - dlg.destroy() - - return - - def __show_about(self, event): - ''' അധികപ്രസംഗം !!! ''' - dlg = gtk.AboutDialog() - dlg.set_name(name) - dlg.set_version(version) - autxt1 = "Chathans frontend : Rajeesh K Nambiar " - autxt2 = "Payyans : Santhosh Thottingal, Nishan Naseer, Manu S Madhav" - authors = ["\n" + autxt1 + "\n" + autxt2] - dlg.set_authors(authors) - dlg.set_copyright("Copyright (c) Rajeesh K Nambiar") - dlg.set_license("Licensed under GNU GPL version 3") - dlg.set_website("http://smc.org.in/Payyans") - - dlg.run() - dlg.destroy() - - def __quit(self, event): - ''' ന്നാ, കട്ടേം പടോം മടക്കാം ! ''' - dlg = gtk.MessageDialog(self.get_toplevel(), - gtk.DIALOG_MODAL, - gtk.MESSAGE_QUESTION, - gtk.BUTTONS_YES_NO, - "Do you really want to Quit?") - if ( dlg.run() == gtk.RESPONSE_YES ): - dlg.destroy() - gtk.main_quit() - dlg.destroy() - return - - -if __name__ == '__main__': - chathans = Chathans() - gtk.main() -- cgit