Module Import alias Import alias Import alias Import alias Import alias Import alias FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore ListLoad Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad AttributeLoad NameLoad attr attr SubscriptLoad AttributeLoad NameLoad attr Index Num NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Call NameLoad NameLoad Str Str NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad AttributeLoad NameLoad attr attr Str Str NameLoad NameLoad For NameStore Call NameLoad Num Num body Assign NameStore BinOpAdd BinOpMult ListLoad Str NameLoad ListLoad NameLoad Expr Call AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad For NameStore NameLoad body If Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad body Return NameLoad Expr Call AttributeLoad NameLoad attr BinOpMod Str NameLoad Expr Call AttributeLoad NameLoad attr BinOpMod Str NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr For NameStore ListLoad Num Num Num body TryExcept body Assign NameStore Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr keyword NameLoad keyword NameLoad Expr Call AttributeLoad NameLoad attr NameLoad handlers ExceptHandler body Pass Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Return NameLoad decorator_list Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad Num ClassDef bases AttributeLoad NameLoad attr body FunctionDef arguments args NameParam NameParam NameParam NameParam defaults NameLoad body Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad NameLoad Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Return AttributeLoad NameLoad attr decorator_list decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults Num body Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad keyword TupleLoad NameLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults Num body TryExcept body Assign NameStore AttributeLoad Call AttributeLoad NameLoad attr NameLoad attr handlers ExceptHandler body Assign NameStore BinOpMod Str TupleLoad NameLoad Call NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Call NameLoad NameLoad NameLoad NameLoad decorator_list
N/A N/A os N/A sys N/A wx N/A logging N/A threading N/A requests resource N/A N/A path N/A N/A N/A 
    Given that X was in our folder in development, where could it be now?

    - PyInstaller one-dir mode: in the same folder as the .exe
    - One-file mode: in a temporary unpacking folder
    - We're still in development: the current folder
    - We're on a mac: a couple of folders up from the binary

    Try all of those, return the first file path that exists
     N/A ideas N/A N/A N/A N/A os path join N/A N/A N/A os path dirname N/A N/A sys argv N/A 0 path N/A N/A N/A os path join N/A getattr sys _MEIPASS / path N/A N/A N/A os path join N/A N/A N/A os environ get _MEIPASS2 / path path N/A n N/A range 0 5 N/A N/A parts N/A N/A N/A .. n N/A path N/A N/A N/A ideas append N/A N/A N/A os path join parts N/A p ideas N/A N/A N/A N/A N/A os path exists p N/A N/A p N/A N/A N/A logging warn N/A Can't find %s path N/A N/A N/A logging debug N/A Tried: %r ideas N/A None N/A icon_bundle N/A N/A fn N/A N/A N/A 
    wx doesn't automatically load all the different sizes from a .ico :(
     N/A icons N/A N/A wx IconBundle N/A sz N/A 16 32 48 N/A N/A N/A N/A icon N/A N/A wx Icon fn N/A wx BITMAP_TYPE_ICO desiredWidth sz desiredHeight sz N/A N/A N/A icons AddIcon icon N/A N/A N/A N/A N/A icons N/A get_password N/A N/A parent title N/A N/A N/A 
    These four lines appeared several times in places where having a single
    function call would have been much more convenient; so at the cost of a
    little flexibility, this makes things tidier.
     N/A ped N/A N/A wx PasswordEntryDialog parent title N/A N/A N/A ped ShowModal N/A pw N/A N/A ped GetValue N/A N/A N/A ped Destroy N/A pw N/A N/A myEVT_WEBLOAD N/A N/A wx NewEventType N/A EVT_WEBLOAD N/A N/A wx PyEventBinder myEVT_WEBLOAD 1 WebLoadEvent N/A N/A wx PyCommandEvent N/A __init__ N/A N/A self etype eid value N/A None N/A N/A N/A N/A N/A wx PyCommandEvent __init__ self etype eid N/A N/A self _value value N/A GetValue N/A N/A self N/A N/A N/A N/A self _value N/A N/A webload N/A N/A parent url eid N/A -1 N/A N/A t N/A N/A threading Thread target _webload args N/A parent url eid N/A N/A N/A t start N/A _webload N/A N/A parent url eid N/A -1 N/A N/A N/A N/A data N/A N/A N/A requests get url text N/A N/A N/A N/A data N/A Couldn't get %s:
%s N/A url N/A str e N/A N/A N/A wx PostEvent parent N/A WebLoadEvent myEVT_WEBLOAD eid data N/A