def save_preferences(self): global spell_support was_false = obs_was_false = plot_was_false = 1 if self.config.get('use_gtkspell', 'False') == 'True': was_false = 0 if self.config.get('spell_notes', 'False') == 'True': obs_was_false = 0 if self.config.get('spell_plot', 'False') == 'True': plot_was_false = 0 # image if self.view_image.get_active(): self.config['view_image'] = 'True' else: self.config['view_image'] = 'False' # original title if self.view_otitle.get_active(): self.config['view_otitle'] = 'True' else: self.config['view_otitle'] = 'False' # title if self.view_title.get_active(): self.config['view_title'] = 'True' else: self.config['view_title'] = 'False' # director if self.view_director.get_active(): self.config['view_director'] = 'True' else: self.config['view_director'] = 'False' # pdf font if self.p_font.get_filename(): self.config['font'] = self.p_font.get_filename() # spellchecker if self.spellchecker.get_active(): self.config['use_gtkspell'] = 'True' else: self.config['use_gtkspell'] = 'False' if self.spell_notes.get_active(): self.config['spell_notes'] = 'True' else: self.config['spell_notes'] = 'False' if self.spell_plot.get_active(): self.config['spell_plot'] = 'True' else: self.config['spell_plot'] = 'False' # rating image self.config['rating_image'] = str(self.rating_image.get_active()) #defaults self.config['media'] = str(self.p_media.get_active()) self.config['condition'] = str(self.p_condition.get_active()) self.config['region'] = str(self.p_region.get_active()) self.config['layers'] = str(self.p_layers.get_active()) self.config['color'] = str(self.p_color.get_active()) # email reminder if self.mail_use_auth.get_active(): self.config['mail_use_auth'] = 'True' else: self.config['mail_use_auth'] = 'False' self.config['mail_smtp_server'] = self.mail_smtp_server.get_text() self.config['mail_username'] = self.mail_username.get_text() self.config['mail_password'] = self.mail_password.get_text() self.config['mail_email'] = self.mail_email.get_text() # default movie plugin if self.default_plugin.get_active(): self.config['default_movie_plugin'] = \ gutils.on_combo_box_entry_changed(self.default_plugin) mcounter = 0 for p in self.plugins: plugin_module = os.path.basename(p).replace(".py","") plugin_name = plugin_module.replace("PluginMovie","") if gutils.on_combo_box_entry_changed(self.default_plugin) == plugin_name: self.d_plugin = mcounter mcounter = mcounter + 1 self.am_source.set_active(self.d_plugin) if self.windows: save_reader = '' else: save_reader = self.epdf_reader.get_text() self.config['spell_lang'] = self.spell_lang.get_text() self.config['pdf_reader'] = save_reader self.config.save() if spell_support: if self.config.get('use_gtkspell', 'False') == 'False' and not was_false: self.obs_spell.detach() self.plot_spell.detach() elif self.config.get('use_gtkspell', 'False') == 'True' and was_false: initialize.initialize_gtkspell(self) else: pass if self.config.get('use_gtkspell', 'False') == 'True': if self.config.get('spell_plot', 'True') == 'False' and not plot_was_false: self.plot_spell.detach() elif self.config.get('spell_plot', 'True') == 'True' and plot_was_false: self.plot_spell = gtkspell.Spell(self.e_plot) self.plot_spell.set_language(self.config.get('spell_lang', 'en')) else: pass if self.config.get('spell_notes', 'True') == 'False' and not obs_was_false: self.obs_spell.detach() elif self.config.get('spell_notes', 'True') == 'True' and obs_was_false: self.obs_spell = gtkspell.Spell(self.e_obs) self.obs_spell.set_language(self.config.get('spell_lang', 'en')) else: pass self.pdf_reader = save_reader self.clear_details() self.populate_treeview(self.db.get_all_data(order_by="number ASC")) self.select_last_row(self.total)
def save_preferences(self): w = self.widgets['preferences'] c = self.config global spell_support was_false = notes_was_false = plot_was_false = 1 if c.get('gtkspell', False, section='spell') == True: was_false = 0 if c.get('notes', False, section='spell') == True: notes_was_false = 0 if c.get('plot', False, section='spell') == True: plot_was_false = 0 # number if w['view_number'].get_active(): c.set('number', 'True', section='mainlist') else: c.set('number', 'False', section='mainlist') # image if w['view_image'].get_active(): c.set('image', 'True', section='mainlist') else: c.set('image', 'False', section='mainlist') # original title if w['view_o_title'].get_active(): c.set('otitle', 'True', section='mainlist') else: c.set('otitle', 'False', section='mainlist') # title if w['view_title'].get_active(): c.set('title', 'True', section='mainlist') else: c.set('title', 'False', section='mainlist') # director if w['view_director'].get_active(): c.set('director', 'True', section='mainlist') else: c.set('director', 'False', section='mainlist') # genre if w['view_genre'].get_active(): c.set('genre', 'True', section='mainlist') else: c.set('genre', 'False', section='mainlist') # seen if w['view_seen'].get_active(): c.set('seen', 'True', section='mainlist') else: c.set('seen', 'False', section='mainlist') # year if w['view_year'].get_active(): c.set('year', 'True', section='mainlist') else: c.set('year', 'False', section='mainlist') # runtime if w['view_runtime'].get_active(): c.set('runtime', 'True', section='mainlist') else: c.set('runtime', 'False', section='mainlist') # rating if w['view_rating'].get_active(): c.set('rating', 'True', section='mainlist') else: c.set('rating', 'False', section='mainlist') # sortby if w['sortby'].get_active(): field = self.sort_criteria[w['sortby'].get_active()] if field: c.set('sortby', field, section='mainlist') else: c.set('sortby', 'number', section='mainlist') c.set('sortby_reverse', w['sortby_reverse'].get_active(), section='mainlist') c.set('limit', str(int(w['s_limit'].get_value())), section='mainlist') # pdf font if w['font'].get_filename(): c['font'] = w['font'].get_filename() # spellchecker if w['spellchecker'].get_active(): c.set('gtkspell', True, section='spell') else: c.set('gtkspell', False, section='spell') if w['spell_notes'].get_active(): c.set('notes', True, section='spell') else: c.set('notes', False, section='spell') if w['spell_plot'].get_active(): c.set('plot', True, section='spell') else: c.set('plot', False, section='spell') # rating image c['rating_image'] = str(w['rating_image'].get_active()) #defaults media_id = self.media_ids[w['media'].get_active()] if media_id is None: media_id = 0 c.set('media', media_id, section='defaults') vcodec_id = self.vcodecs_ids[w['vcodec'].get_active()] if vcodec_id is None: vcodec_id = 0 c.set('vcodec', vcodec_id, section='defaults') c.set('condition', str(w['condition'].get_active()), section='defaults') c.set('region', str(w['region'].get_active()), section='defaults') c.set('layers', str(w['layers'].get_active()), section='defaults') c.set('color', str(w['color'].get_active()), section='defaults') # email reminder if w['mail_use_auth'].get_active(): c.set('use_auth', True, section='mail') else: c.set('use_auth', False, section='mail') if w['mail_use_tls'].get_active(): c.set('mail_use_tls', True, section='mail') else: c.set('mail_use_tls', False, section='mail') c.set('smtp_server', w['mail_smtp_server'].get_text(), section='mail') c.set('mail_smtp_port', w['mail_smtp_port'].get_text(), section='mail') c.set('username', w['mail_username'].get_text(), section='mail') c.set('password', w['mail_password'].get_text(), section='mail') c.set('email', w['mail_email'].get_text(), section='mail') # default movie plugin if w['default_plugin'].get_active(): c['default_movie_plugin'] = \ gutils.on_combo_box_entry_changed(w['default_plugin']) # search for: c.set('s_classification', w['s_classification'].get_active(), section='add') c.set('s_country', w['s_country'].get_active(), section='add') c.set('s_director', w['s_director'].get_active(), section='add') c.set('s_genre', w['s_genre'].get_active(), section='add') c.set('s_image', w['s_image'].get_active(), section='add') c.set('s_notes', w['s_notes'].get_active(), section='add') c.set('s_o_site', w['s_o_site'].get_active(), section='add') c.set('s_o_title', w['s_o_title'].get_active(), section='add') c.set('s_plot', w['s_plot'].get_active(), section='add') c.set('s_rating', w['s_rating'].get_active(), section='add') c.set('s_runtime', w['s_runtime'].get_active(), section='add') c.set('s_site', w['s_site'].get_active(), section='add') c.set('s_studio', w['s_studio'].get_active(), section='add') c.set('s_title', w['s_title'].get_active(), section='add') c.set('s_trailer', w['s_trailer'].get_active(), section='add') c.set('s_cast', w['s_cast'].get_active(), section='add') c.set('s_year', w['s_year'].get_active(), section='add') mcounter = 0 for p in self.plugins: plugin_module = os.path.basename(p).replace('.py','') plugin_name = plugin_module.replace('PluginMovie','') if gutils.on_combo_box_entry_changed(w['default_plugin']) == plugin_name: self.d_plugin = mcounter mcounter = mcounter + 1 self.widgets['add']['source'].set_active(self.d_plugin) if self.windows: save_reader = '' else: save_reader = w['epdf_reader'].get_text() c.set('lang', w['spell_lang'].get_text(), section='spell') c['pdf_reader'] = save_reader c.set('amazon_locale', w['amazon_locale'].get_active(), section='add') if spell_support: if c.get('gtkspell', False, section='spell') == False and not was_false: self.notes_spell.detach() self.plot_spell.detach() elif c.get('gtkspell', False, section='spell') == True and was_false: initialize.initialize_gtkspell(self) else: pass if c.get('gtkspell', False, section='spell') == True: if c.get('plot', True, section='spell') == False and not plot_was_false: self.plot_spell.detach() elif c.get('plot', True, section='spell') == True and plot_was_false: self.plot_spell = gtkspell.Spell(self.widgets['add']['plot']) self.plot_spell.set_language(c.get('lang', 'en', section='spell')) else: pass if c.get('notes', True, section='spell') == False and not notes_was_false: self.notes_spell.detach() elif c.get('notes', True, section='spell') == True and notes_was_false: self.notes_spell = gtkspell.Spell(self.widgets['add']['notes']) self.notes_spell.set_language(c.get('lang', 'en', section='spell')) else: pass self.pdf_reader = save_reader # database old = c.toDict(section='database') c.set('host', w['db_host'].get_text(), section='database') c.set('port', int(w['db_port'].get_value()), section='database') c.set('name', w['db_name'].get_text(), section='database') c.set('user', w['db_user'].get_text(), section='database') c.set('passwd', w['db_passwd'].get_text(), section='database') db_type = int(w['db_type'].get_active()) if db_type == 1: c.set('type', 'postgres', section='database') elif db_type == 2: c.set('type', 'mysql', section='database') elif db_type == 3: c.set('type', 'mssql', section='database') else: c.set('type', 'sqlite', section='database') if old['type'] != c.get('type', section='database') or (old['type']!='sqlite' and (\ old['host'] != c.get('host', section='database') or \ old['port'] != c.get('port', section='database') or \ old['user'] != c.get('user', section='database') or \ old['passwd'] != c.get('passwd', section='database'))) or \ old['name'] != c.get('name', section='database'): self.debug.show('DATABASE: connecting to new db server...') # new database connection import sql self.initialized = False self.db.metadata.clear() from sqlalchemy.orm import clear_mappers from sqlalchemy.exceptions import InvalidRequestError clear_mappers() try: self.db = sql.GriffithSQL(c, self.debug, self.locations['home']) except InvalidRequestError, e: self.debug.show(str(e)) c.set('type', 'sqlite', section='database') w['db_type'].set_active(0) self.db = sql.GriffithSQL(c, self.debug, self.locations['home']) self.debug.show("New database Engine: %s" % self.db.metadata.engine.name) # initialize new database self.total = int(self.db.Movie.count()) self.count_statusbar() from initialize import dictionaries, people_treeview, location_posters c['posters'] = None # force update location_posters(self.locations, self.config) dictionaries(self) people_treeview(self, False) self.initialized = True
def save_preferences(self): w = self.widgets['preferences'] c = self.config global spell_support was_false = notes_was_false = plot_was_false = 1 if c.get('use_gtkspell', 'False') == 'True': was_false = 0 if c.get('spell_notes', 'False') == 'True': notes_was_false = 0 if c.get('spell_plot', 'False') == 'True': plot_was_false = 0 # image if w['view_image'].get_active(): c['view_image'] = 'True' else: c['view_image'] = 'False' # original title if w['view_o_title'].get_active(): c['view_otitle'] = 'True' else: c['view_otitle'] = 'False' # title if w['view_title'].get_active(): c['view_title'] = 'True' else: c['view_title'] = 'False' # director if w['view_director'].get_active(): c['view_director'] = 'True' else: c['view_director'] = 'False' # sortby if w['sortby'].get_active(): field = self.sort_criteria[w['sortby'].get_active()] if field: c['sortby'] = field else: c['sortby'] = 'number' c['sortby_reverse'] = w['sortby_reverse'].get_active() # pdf font if w['font'].get_filename(): c['font'] = w['font'].get_filename() # spellchecker if w['spellchecker'].get_active(): c['use_gtkspell'] = 'True' else: c['use_gtkspell'] = 'False' if w['spell_notes'].get_active(): c['spell_notes'] = 'True' else: c['spell_notes'] = 'False' if w['spell_plot'].get_active(): c['spell_plot'] = 'True' else: c['spell_plot'] = 'False' # rating image c['rating_image'] = str(w['rating_image'].get_active()) #defaults c['media'] = self.media_ids[w['media'].get_active()] c['vcodec'] = self.vcodecs_ids[w['vcodec'].get_active()] c['condition'] = str(w['condition'].get_active()) c['region'] = str(w['region'].get_active()) c['layers'] = str(w['layers'].get_active()) c['color'] = str(w['color'].get_active()) # email reminder if w['mail_use_auth'].get_active(): c['mail_use_auth'] = 'True' else: c['mail_use_auth'] = 'False' c['mail_smtp_server'] = w['mail_smtp_server'].get_text() c['mail_username'] = w['mail_username'].get_text() c['mail_password'] = w['mail_password'].get_text() c['mail_email'] = w['mail_email'].get_text() # default movie plugin if w['default_plugin'].get_active(): c['default_movie_plugin'] = \ gutils.on_combo_box_entry_changed(w['default_plugin']) # search for: c['s_classification'] = w['s_classification'].get_active() c['s_country'] = w['s_country'].get_active() c['s_director'] = w['s_director'].get_active() c['s_genre'] = w['s_genre'].get_active() c['s_image'] = w['s_image'].get_active() c['s_notes'] = w['s_notes'].get_active() c['s_o_site'] = w['s_o_site'].get_active() c['s_o_title'] = w['s_o_title'].get_active() c['s_plot'] = w['s_plot'].get_active() c['s_rating'] = w['s_rating'].get_active() c['s_runtime'] = w['s_runtime'].get_active() c['s_site'] = w['s_site'].get_active() c['s_studio'] = w['s_studio'].get_active() c['s_title'] = w['s_title'].get_active() c['s_trailer'] = w['s_trailer'].get_active() c['s_cast'] = w['s_cast'].get_active() c['s_year'] = w['s_year'].get_active() mcounter = 0 for p in self.plugins: plugin_module = os.path.basename(p).replace('.py','') plugin_name = plugin_module.replace('PluginMovie','') if gutils.on_combo_box_entry_changed(w['default_plugin']) == plugin_name: self.d_plugin = mcounter mcounter = mcounter + 1 self.widgets['add']['source'].set_active(self.d_plugin) if self.windows: save_reader = '' else: save_reader = w['epdf_reader'].get_text() c['spell_lang'] = w['spell_lang'].get_text() c['pdf_reader'] = save_reader c['amazon_locale'] = w['amazon_locale'].get_active() if spell_support: if c.get('use_gtkspell', 'False') == 'False' and not was_false: self.notes_spell.detach() self.plot_spell.detach() elif c.get('use_gtkspell', 'False') == 'True' and was_false: initialize.initialize_gtkspell(self) else: pass if c.get('use_gtkspell', 'False') == 'True': if c.get('spell_plot', 'True') == 'False' and not plot_was_false: self.plot_spell.detach() elif c.get('spell_plot', 'True') == 'True' and plot_was_false: self.plot_spell = gtkspell.Spell(self.widgets['add']['plot']) self.plot_spell.set_language(c.get('spell_lang', 'en')) else: pass if c.get('spell_notes', 'True') == 'False' and not notes_was_false: self.notes_spell.detach() elif c.get('spell_notes', 'True') == 'True' and notes_was_false: self.notes_spell = gtkspell.Spell(self.widgets['add']['notes']) self.notes_spell.set_language(c.get('spell_lang', 'en')) else: pass self.pdf_reader = save_reader # database old = { 'db_type': c['db_type'], 'db_host': c['db_host'], 'db_port': c['db_port'], 'db_name': c['db_name'], 'db_user': c['db_user'], 'db_passwd': c['db_passwd'], } c['db_host'] = w['db_host'].get_text() c['db_port'] = int(w['db_port'].get_value()) c['db_name'] = w['db_name'].get_text() c['db_user'] = w['db_user'].get_text() c['db_passwd'] = w['db_passwd'].get_text() db_type = int(w['db_type'].get_active()) if db_type == 1: c['db_type'] = 'postgres' elif db_type == 2: c['db_type'] = 'mysql' else: c['db_type'] = 'sqlite' if old['db_type'] != c['db_type'] or (old['db_type']!='sqlite' and (\ old['db_host'] != c['db_host'] or \ old['db_port'] != c['db_port'] or \ old['db_name'] != c['db_name'] or \ old['db_user'] != c['db_user'] or \ old['db_passwd'] != c['db_passwd'])): self.debug.show('DATABASE: connecting to new db server...') # new database connection import sql self.initialized = False self.db.metadata.clear() from sqlalchemy.orm import clear_mappers clear_mappers() self.db = sql.GriffithSQL(c, self.debug, self.locations['home']) self.debug.show("New database Engine: %s" % self.db.metadata.engine.name) # initialize new database self.total = int(self.db.Movie.count()) self.count_statusbar() from initialize import dictionaries, people_treeview, location_posters c['posters'] = None # force update location_posters(self.locations, self.config) dictionaries(self) people_treeview(self, False) self.initialized = True self.clear_details() self.populate_treeview() self.go_last() c.save()