def __init__( self ): print HTML_head try: self.db = SQL.db() except: print "check config in 'config.py' first!" sys.exit() self.CGIdata = sessiondata.CGIdata( {"page_msg":""} ) #~ print "<p>CGI-data debug: '%s'</p>" % self.CGIdata self.actions = [ (self.install_PyLucid, "install", "Install PyLucid from scratch"), (self.add_admin, "add_admin", "add a admin user"), (self.default_internals,"default_internals", "set all internal pages to default"), (self.convert_db, "convert_db", "convert DB data from PHP-LucidCMS to PyLucid Format"), #~ (self.sql_dump, "sql_dump", "SQL dump (experimental)"), #~ (self.convert_locals, "locals", "convert locals (ony preview!)"), ] for action in self.actions: if self.CGIdata.has_key( action[1] ): # Ruft die Methode auf, die in self.actions definiert wurde action[0]() sys.exit() self.print_actionmenu() self.check_system() self.db.close()
def __init__( self ): # Alle Objekte/Klassen, die für Module/Plugins nötig sein könnten, werden # in dem Dict PyLucid_objects abgelegt. Dieses erlaubt ein vereinheitliche # Instanzierung von Modulen self.PyLucid = {} # PyLucid's Konfiguration self.config = config self.PyLucid["config"] = self.config if self.config.system.poormans_modrewrite == True: # Frühzeite überprüfung der URL self.check_request() # Speichert Nachrichten die in der Seite angezeigt werden sollen self.page_msg = sessiondata.page_msg() self.PyLucid["page_msg"] = self.page_msg # CGI Post/Get Daten self.CGIdata = sessiondata.CGIdata( self.PyLucid ) #~ self.CGIdata.debug() self.PyLucid["CGIdata"] = self.CGIdata # Anbindung an die SQL-Datenbank, mit speziellen PyLucid Methoden self.db = SQL.db() self.PyLucid["db"] = self.db # Verwaltung für Einstellungen aus der Datenbank self.preferences = preferences.preferences( self.PyLucid ) self.PyLucid["preferences"] = self.preferences tools.PyLucid = self.PyLucid self.PyLucid["tools"] = tools # Log-Ausgaben in SQL-DB self.log = SQL_logging.log( self.PyLucid ) self.PyLucid["log"] = self.log # Allgemeiner CGI Sessionhandler auf mySQL-Basis self.session = sessionhandling.sessionhandler( self.db.cursor, "%ssession_data" % self.config.dbconf["dbTablePrefix"], self.log, CookieName="PyLucid_id", #~ verbose_log = True ) self.session.page_msg = self.page_msg #~ self.session.debug() self.PyLucid["session"] = self.session # Für die Log-Einträge Informationen festhalten self.log.client_sID = self.session.ID if self.session.has_key("user"): self.log.client_user_name = self.session["user"] # Aktuelle Seite ermitteln und festlegen self.detect_page() # Überprüfe Rechte der Seite self.verify_page() # Verwaltung von erweiterungs Modulen/Plugins self.module_manager = module_manager.module_manager( self.PyLucid ) # Alle Module, die für den Modul-Manager vorbereitet wurden einlesen self.module_manager.read_module_info( "PyLucid_modules" ) #~ self.module_manager.debug() self.PyLucid["module_manager"] = self.module_manager # Zum Zusammenbau der HTML-Seiten self.pagerender = pagerender.pagerender( self.PyLucid )
# Allgemeine Funktion, um die Aktion zu starten def PyLucid_action( PyLucid_objects ): # Aktion starten return sub_menu( PyLucid_objects ).generate() if __name__ == "__main__": # Aufruf per <lucidFunction:IncludeRemote> vom lucidCMS (also die PHP-Version) sys.path.insert( 0, "../" ) from PyLucid_system import SQL, sessiondata import config config.system.poormans_url ="X" print "Content-type: text/html\n" db_handler = SQL.db() config.readpreferences( db_handler ) CGIdata = sessiondata.CGIdata( db_handler ) MyMG = menugenerator( db_handler, CGIdata, config ) print MyMG.generate() db_handler.close()
#_______________________________________________________________________ # Allgemeine Funktion, um die Aktion zu starten def PyLucid_action( PyLucid_objects ): # Aktion starten return ListOfNewSides( PyLucid_objects ).make() if __name__ == "__main__": # Lokaler Test from PyLucid_system import SQL, sessiondata import config db = SQL.db() config.readpreferences( db ) PyLucid = { "CGIdata" : sessiondata.CGIdata( db, config ), "db" : db, "config" : config, } print ListOfNewSides( PyLucid ).make() db.close()