Vantar python lausn. vegna plugins


Höfundur
guttalingur
Bannaður
Póstar: 474
Skráði sig: Fim 12. Feb 2009 13:39
Reputation: 0
Staðsetning: Aboard the Klingon warship Meeboo
Hafðu samband:
Staða: Ótengdur

Vantar python lausn. vegna plugins

Pósturaf guttalingur » Mið 06. Apr 2011 00:07

Núna er ég að setja allan plugin kóðan í plugins.py.
Svo geri ég:

Kóði: Velja allt

import plugins


En mig vantar möguleikan á að setja alla plugin classana í mismunandi skjöl inní ./plugins/ og loada.
Er einhvern vegin ekki að fatta lausnina, nota IMP?

Mitt current setup er svona( pseudo plugins )
Canvas.py

Kóði: Velja allt

import plugins
def Render(self,method,function,variable): # render it function called from system.Render
        hex_class =getattr(plugins ,method)  # get the class to call
        hex_class_inst = hex_class(self.reqHandler) # bind it i think or call the init yada yada yada ### request handler is to be deprecated
        hex_funct = getattr(hex_class_inst ,function) # get the function
        return hex_funct(variable)   # call Plugin with the variable tuple

Og svo inní python-tornado.

Kóði: Velja allt

class RenderHandler(tornado.web.RequestHandler):
    def get(self,method,function,variable):
        hexer = hex(self)
        splitter = variable.split("|")
        tuple = []
        for item in splitter:
            tuple.append(str(item))
        todo = hexer.Render(method,function,tuple)
        # switch like statement below switch(todo[0])

sample plugin.

Kóði: Velja allt

class user(Thor_plugin):
    def get_current_user(self):
        if self.handler.get_secure_cookie("username") != None:
            return self.handler.get_secure_cookie("username")
        else:
            return "0"
    def __init__(self,handle):
        self.handler = handle
        super(user,self).__init__(handle)
    def login(self,var):
        return (3 ,"login.html")


Svo til þess að sýna login
Gerirðu mysite.com/user/login//

Vill geta notað getattr




Höfundur
guttalingur
Bannaður
Póstar: 474
Skráði sig: Fim 12. Feb 2009 13:39
Reputation: 0
Staðsetning: Aboard the Klingon warship Meeboo
Hafðu samband:
Staða: Ótengdur

Re: Vantar python lausn. vegna plugins

Pósturaf guttalingur » Mið 06. Apr 2011 00:10

Já og endilega ef þið hafið einhver löst í sambandi við aðferðinna sem ég er að nota
Shoot me!



Skjámynd

dori
Besserwisser
Póstar: 3606
Skráði sig: Fim 12. Feb 2009 10:46
Reputation: 142
Staða: Ótengdur

Re: Vantar python lausn. vegna plugins

Pósturaf dori » Mið 06. Apr 2011 00:19

Hvað ertu að reyna að gera? Mér finnst vanta smá samhengi? Tornado eins og í vefþjónninn?

edit: sé hvað þú ert að reyna... nota module í staðin fyrir eina gígantíska skrá, rite?




Höfundur
guttalingur
Bannaður
Póstar: 474
Skráði sig: Fim 12. Feb 2009 13:39
Reputation: 0
Staðsetning: Aboard the Klingon warship Meeboo
Hafðu samband:
Staða: Ótengdur

Re: Vantar python lausn. vegna plugins

Pósturaf guttalingur » Mið 06. Apr 2011 09:39

Akkurat!

Núna er ég með þetta í einu gigantum fæl
Vill setja user modulein í sér skjal inní ./plugins/



Skjámynd

Dagur
Geek
Póstar: 802
Skráði sig: Fös 19. Sep 2003 14:00
Reputation: 65
Staðsetning: Reykjavík
Hafðu samband:
Staða: Ótengdur

Re: Vantar python lausn. vegna plugins

Pósturaf Dagur » Mið 06. Apr 2011 10:42

Ég er bara að skjóta út í loftið en gleymdir þú að búa til __init__.py skrá?



Skjámynd

dori
Besserwisser
Póstar: 3606
Skráði sig: Fim 12. Feb 2009 10:46
Reputation: 142
Staða: Ótengdur

Re: Vantar python lausn. vegna plugins

Pósturaf dori » Mið 06. Apr 2011 11:11

Dagur skrifaði:Ég er bara að skjóta út í loftið en gleymdir þú að búa til __init__.py skrá?

Þá þyrfti hann samt að breyta strúktúrnum smá... Svo að plugins.users væri það sem er í plugins.users.users eða eitthvað í þá áttina (er ég nokkuð alveg í ruglinu?).

Ég er ekki alveg viss hvernig er best að gera þetta. Held að þú þurfir að fara í einhverjar æfingar nema þú endurskoðir þetta Render fall eitthvað.

Hvað er málið með allt þetta hex dót? Er það eitthvað tornado thingy?




Höfundur
guttalingur
Bannaður
Póstar: 474
Skráði sig: Fim 12. Feb 2009 13:39
Reputation: 0
Staðsetning: Aboard the Klingon warship Meeboo
Hafðu samband:
Staða: Ótengdur

Re: Vantar python lausn. vegna plugins

Pósturaf guttalingur » Mið 06. Apr 2011 11:25

Ehh hex er hluti af frameworkinu sem ég er að smíða...

Og þú ert ekkert svo mikið í ruglinu held ég.... Loada plugins.users.users



Skjámynd

dori
Besserwisser
Póstar: 3606
Skráði sig: Fim 12. Feb 2009 10:46
Reputation: 142
Staða: Ótengdur

Re: Vantar python lausn. vegna plugins

Pósturaf dori » Mið 06. Apr 2011 11:38

guttalingur skrifaði:Ehh hex er hluti af frameworkinu sem ég er að smíða...

Og þú ert ekkert svo mikið í ruglinu held ég.... Loada plugins.users.users

Ok, mér datt það í hug. Ég hef bara aldrei skoðað tornado svo að maður veit aldrei.

Það er samt svo mikið hack að hlaða þessu svona. Ég myndi reyna að endurhugsa þetta aðeins (kannski skoða hvernig þetta er gert annarsstaðar). Svo er líka svolítið skrýtið að þú ert að nota getattr til að sækja eitthvað sem virðist vera mjög dynamic en ert ekki að búast við AttributeError ef attributeið er ekki til staðar (og skila þá 404 eða hvað það er sem þú ert að gera).

Svo er tuple "reserved orð" (það er bara skrýtið að yfirskrifa builtin). Þú getur líka notað list comprehension/generator til að gera þetta.

Kóði: Velja allt

todo = hexer.Render(method, function, (str(item) for item in splitter))




Höfundur
guttalingur
Bannaður
Póstar: 474
Skráði sig: Fim 12. Feb 2009 13:39
Reputation: 0
Staðsetning: Aboard the Klingon warship Meeboo
Hafðu samband:
Staða: Ótengdur

Re: Vantar python lausn. vegna plugins

Pósturaf guttalingur » Mið 06. Apr 2011 12:01

Ehm jamm er ekki búinn að vinna það mikið í þessu
todo:try except clouse
Takk fyrir að benda mér á tuple villuna ;)

Þetta soundaði flott fyrir það sem mig vantaði....




Höfundur
guttalingur
Bannaður
Póstar: 474
Skráði sig: Fim 12. Feb 2009 13:39
Reputation: 0
Staðsetning: Aboard the Klingon warship Meeboo
Hafðu samband:
Staða: Ótengdur

Re: Vantar python lausn. vegna plugins

Pósturaf guttalingur » Mið 06. Apr 2011 18:22

GARRRRRRRRRRGGGGGGGGGGGG........
Implingarnir eru með vesen! (IMP)



Skjámynd

dori
Besserwisser
Póstar: 3606
Skráði sig: Fim 12. Feb 2009 10:46
Reputation: 142
Staða: Ótengdur

Re: Vantar python lausn. vegna plugins

Pósturaf dori » Fim 07. Apr 2011 01:37

Hvað eru IMP[lingar]?

[off_topic]
Annars þá finnst mér rosalega erfitt að lesa kóðann þinn. Skoðaðu PEP8 og svo kannski venjurnar hjá Google.

Basic væri að hafa space á milli kommu og næsta arguments. Hafa space sitthvoru megin við = og að hafa komment á sér línum.
[/off_topic]




Höfundur
guttalingur
Bannaður
Póstar: 474
Skráði sig: Fim 12. Feb 2009 13:39
Reputation: 0
Staðsetning: Aboard the Klingon warship Meeboo
Hafðu samband:
Staða: Ótengdur

Re: Vantar python lausn. vegna plugins

Pósturaf guttalingur » Fim 07. Apr 2011 08:03

Imp(lingar) er notað til að loada pluginum
imp.load

Ég er að vinna í því að betrumbæta mínar venjur ;)