Git Product home page Git Product logo

pob_wrapper's People

Contributors

coldino avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

pob_wrapper's Issues

Problems on Linux

When deploying my app with this wrapper on Linux, the app would get stuck forever. After a lot of digging I've came to a conclusion that the problem is with lcurl - it won't load on Linux.

All I had to do was to uncomment this:

-- l_require = require
-- function require(name)
-- 	-- Hack to stop it looking for lcurl, which we don't really need
-- 	if name == "lcurl.safe" then
-- 		return
-- 	end
--     return l_require(name)
-- end

I've also removed functions that were doing some web stuff (DownloadPage and CheckForUpdate). In my use case I don't need those anyway.

Also, make sure that the PoB installation doesn't contain Settings.xml file - it might contain a file path. If its Windows path - it would break as well.

Just dropping those notes in here just in case someone would have similar issues.

ModuleNotFoundError: No module named 'pob_wrapper'

When I try to run the example, I get the above error. Any idea how to solve this? The following functions throws the error:

def get_provider(moduleOrReq):
                """Return an IResourceProvider for the named module or requirement"""
                if isinstance(moduleOrReq, Requirement):
                    return working_set.find(moduleOrReq) or require(str(moduleOrReq))[0]
                try:
                    module = sys.modules[moduleOrReq]
                except KeyError:
                    __import__(moduleOrReq)
                    module = sys.modules[moduleOrReq]
                loader = getattr(module, '__loader__', None)
                return _find_adapter(_provider_factories, loader)(module) 

Modules/DataLegionLookUpTableHelper.lua:287: Error occurred loading Glorious Vanity data

Hi, trying to run PathOfBuilding(path, path) gives me this error

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\aria\projects\pythtest\pob_wrapper\pob_wrapper\pob.py", line 108, in __init__
    raise ChildProcessError((stdin or '') + (stderr or ''))
ChildProcessError:
^0In 'OnFrame': Modules/DataLegionLookUpTableHelper.lua:287: Error occurred loading Glorious Vanity data
^8v2.37.0 master
^0Press Enter/Escape to dismiss, or F5 to restart the application.
stack traceback:
        [C]: in function 'error'
        ...rojects\pythtest\pob_wrapper\pob_wrapper\data\mockui.lua:233: in main chunk
        [C]: in function 'require'
        ...a\projects\pythtest\pob_wrapper\pob_wrapper\data\cli.lua:11: in main chunk
        [C]: at 0x004020f0

path = C:\Users\aria\AppData\Roaming\Path of Building Community

POB version 2.37.0

Program does not execute due to process_wrapper.py

Hey,

I can start the program now, but it gets stuck in file process_wrapper.py in this line:

class ProcessWrapper:
    '''Starts a sub-process that can be used in a simple question/response pattern.'''
    process: Popen

    receive_msg_fn = lambda self, msg: print("Lua: " + msg if msg else '', end='')

    def __init__(self, debug=False):
        self.debug = debug and True

    def start(self, args: List[str], cwd=None):
        cwd = cwd or os.getcwd()
        self.process = Popen(args, stdin=PIPE, stdout=PIPE, stderr=sys.stderr, universal_newlines=True, cwd=cwd, bufsize=1)
        firstline = self.process.stdout.readline() <<<<<<< 
        if firstline == '': raise EOFError("Unable to start subprocess")
        if self.debug: print('===', firstline)

It doesn't throw any error, but the program simply does not continue. Do have any ideas why this might happen?

Several functions in example.py return errors with null value.

Platform: Win10

IDE: Visual Code
POB: Community-Portable-1.4.170.26 (released at 9th Feb,2021)
Python: 3.9.4

Issues:
Example functions trigger fatal errors.

Here's order in example.py :

  • get_builds_dir()--------(√)
  • load_build(rf'{builds_path}\AnalysisBuilder.xml')--------(√)
  • get_build_info()--------(√)
  • update_build()--------(√)
  • pob.fetch('build.spec.curAscendClassName')--------(√)
  • mod = "10% increased Intelligence"--------(√)
  • print('\nTesting single mod effects:', mod)--------(√)
  • pprint(pob.test_mod_effect(mod)) --------(×)
  • Path('test-item1.html').write_text(pob.test_item_as_html(TEST_ITEM_1)) --------(×)

Screen shot:
screenshot

looks like "modlist" is a nil value

Full output:

POB Builds: C:\Users\kwang\Desktop\PathOfBuildingCommunity-Portable-1.4.170.26/Builds/

Loading build:
{'buildName': 'PathOfBuildingCommunity-Portable-1.4.170.26/Builds/\\AnalysisBuilder',
 'char': {'ascendClassName': 'Chieftain',          'className': 'Marauder',       
          'level': 100},
 'file': {'path': 'C:\\Users\\kwang\\Desktop\\PathOfBuildingCommunity-Portable-1.4.170.26/Builds/\\AnalysisBuilder.xml',   
          'subpath': ''},
 'skill': {'group': 'Vaal Ancestral Warchief', 'name': 'Ancestral Warchief'}}     

Updating build:
Lua: Skill group/gem/part: Vaal Ancestral Warchief / Ancestral Warchief / -       
Lua: Pre-update checks...

Fetch data directly from Lua:
  build.spec.curAscendClassName = 'Chieftain'

Testing single mod effects: 10% increased Intelligence
Lua: Testing mod: 10% increased Intelligence
Traceback (most recent call last):
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.1264.0_x64__qbz5n2kfra8p0\lib\runpy.py", line 
197, in _run_module_as_main
    return _run_code(code, main_globals, 
None,
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.1264.0_x64__qbz5n2kfra8p0\lib\runpy.py", line 
87, in _run_code
    exec(code, run_globals)
  File "c:\Users\kwang\.vscode\extensions\ms-python.python-2021.3.680753044\pythonFiles\lib\python\debugpy\__main__.py", line 45, in <module>
    cli.main()
  File "c:\Users\kwang\.vscode\extensions\ms-python.python-2021.3.680753044\pythonFiles\lib\python\debugpy/..\debugpy\server\cli.py", line 444, in main
    run()
  File "c:\Users\kwang\.vscode\extensions\ms-python.python-2021.3.680753044\pythonFiles\lib\python\debugpy/..\debugpy\server\cli.py", line 285, in run_file
    runpy.run_path(target_as_str, run_name=compat.force_str("__main__"))
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.1264.0_x64__qbz5n2kfra8p0\lib\runpy.py", line 
268, in run_path
    return _run_module_code(code, init_globals, run_name,
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.1264.0_x64__qbz5n2kfra8p0\lib\runpy.py", line 
97, in _run_module_code
    _run_code(code, mod_globals, init_globals,
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.1264.0_x64__qbz5n2kfra8p0\lib\runpy.py", line 
87, in _run_code
    exec(code, run_globals)
  File "c:\Users\kwang\Desktop\pob_wrapper\example.py", line 62, in <module>      
    pob = run()
  File "c:\Users\kwang\Desktop\pob_wrapper\example.py", line 51, in run
    pprint(pob.test_mod_effect(mod))     
  File "c:\Users\kwang\Desktop\pob_wrapper\pob_wrapper\pob.py", line 139, in test_mod_effect
    result = self._send(f'findModEffect("{mod_line}")')
  File "c:\Users\kwang\Desktop\pob_wrapper\pob_wrapper\pob.py", line 161, in _send    raise ExternalError(result)
pob_wrapper.pob.ExternalError

if you need more info, plz let me know :)

Not working with PoB Community 1.4.170.12

Hi! Looks like the latest PoBC has broken something :-(
The first thing I noticed is that get_builds_dir() seems to be getting a relative path to the builds dir now:

C:\Users\Nighty\Downloads\pob_wrapper-master>python example.py
LUA: Started

POB Builds: ./Path of Building/Builds/

Loading build:
{'buildName': 'ED 03',
 'char': {'ascendClassName': 'Scion', 'className': 'Scion', 'level': 1},
 'file': {'path': './Path of Building/Builds/\\ED 03.xml', 'subpath': '\\'}}

Updating build:
Traceback (most recent call last):
  File "example.py", line 63, in <module>
    pob = run()
  File "example.py", line 44, in run
    pob.update_build()
  File "C:\Users\Nighty\Downloads\pob_wrapper-master\pob_wrapper\pob.py", line 96, in update_build
    result = self._send(f'updateBuild()')
  File "C:\Users\Nighty\Downloads\pob_wrapper-master\pob_wrapper\pob.py", line 148, in _send
    raise ExternalError(result)
pob_wrapper.process_wrapper.ExternalError: {'status': 'run_fail', 'error': "...ty\\Downloads\\pob_wrapper-master\\pob_wrapper\\data\\cli.lua:59: attempt to index local 'socketGroup' (a nil value)"}

Feeding it the correct path does this:

C:\Users\Nighty\Downloads\pob_wrapper-master>python example.py
LUA: Started

POB Builds: ./Path of Building/Builds/

Loading build:
{'buildName': 'ED 03',
 'char': {'ascendClassName': 'Trickster', 'className': 'Shadow', 'level': 83},
 'file': {'path': 'C:\\Users\\Nighty\\Documents\\Path of Building\\Builds\\ED '
                  '03.xml',
          'subpath': 'Path of Building\\Builds\\'}}

Updating build:
Traceback (most recent call last):
  File "example.py", line 63, in <module>
    pob = run()
  File "example.py", line 44, in run
    pob.update_build()
  File "C:\Users\Nighty\Downloads\pob_wrapper-master\pob_wrapper\pob.py", line 96, in update_build
    result = self._send(f'updateBuild()')
  File "C:\Users\Nighty\Downloads\pob_wrapper-master\pob_wrapper\pob.py", line 148, in _send
    raise ExternalError(result)
pob_wrapper.process_wrapper.ExternalError: {'status': 'run_fail', 'error': '...ty\\Downloads\\pob_wrapper-master\\pob_wrapper\\data\\cli.lua:72: Account name not configured'}

For completeness, these are the lines I changed in example.py to make it work on my system:

    ...
    pob_install = r'C:\Program Files (x86)\Path of Building Community'
    pob_path = r'C:\Program Files (x86)\Path of Building Community'
    ...
    pob.load_build(r'C:\Users\Nighty\Documents\Path of Building\Builds\ED 03.xml')
    ...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.