Giter VIP home page Giter VIP logo

labbie's People

Contributors

bnorick avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

labbie's Issues

Error message: Enchants are not loaded.

I can do whatever I want but when I click on "Search" I always receive an error message telling me that "Enchants are not loaded.". Why is that?

I can't do anything about. It doesnt matter if I wait, reinstall, try to manipulate the config. Switchting debugging to true doesn't help either.

Configuring a shortcut interferes with normal modifier key usage

Configuring a shortcut as "Ctrl+L" or "Ctrl+Shift+X" leads to the modifier key Ctrl being barely usable outside of Labbie. When pressing Ctrl in-game to activate the alternate skill bar, it doesn't work at all, as if Labbie consumes the event from the OS -- but it's not completely dysfunctional, only partially.

TimeoutError when starting labbie

Hi,
when I try to start labbie, I get a timeout error from src\labbie\resources.py in line 82.
It looks like it tries to access https://labbie.blob.core.windows.net/resources for an update, but this URL is not reachable.

Edit: I also noticed that I do not have a labbie icon in windows next to the watch.

Choosing league

Please add some choices in the setup to choose the league when pressing "price check"

Enchants have not finished loading

There is a similar issue already open, but I don't know if my error is the same error so I post a new issue.
I also get an error "Enchants have not finished loading" when using labbie in the current archnemsis league.
I activated the debug mode in the config file and here is the content of current_run.log:

2022-02-05 19:18:09.798 | INFO     | labbie.constants:load:67 - Loading constants from C:\Users\Christian\Desktop\Labbie\Labbie\config\constants.toml specified by default (with 0 overrides).
2022-02-05 19:18:09.799 | INFO     | labbie.config:load:72 - Loading config from C:\Users\Christian\Desktop\Labbie\Labbie\config\config.toml
2022-02-05 19:18:09.800 | DEBUG    | labbie.mixins:from_dict:207 - labbie.config.Config __VERSION__=Missing
2022-02-05 19:18:09.800 | DEBUG    | labbie.mixins:type_hook:107 - HOOKED labbie.config.UiConfig
2022-02-05 19:18:09.800 | DEBUG    | labbie.mixins:from_dict:207 - labbie.config.UiConfig __VERSION__=Missing
2022-02-05 19:18:09.807 | DEBUG    | labbie.mixins:type_hook:107 - HOOKED labbie.config.HotkeysConfig
2022-02-05 19:18:09.807 | DEBUG    | labbie.mixins:from_dict:207 - labbie.config.HotkeysConfig __VERSION__=Missing
2022-02-05 19:18:09.807 | DEBUG    | labbie.mixins:type_hook:107 - HOOKED labbie.config.OcrConfig
2022-02-05 19:18:09.807 | DEBUG    | labbie.mixins:from_dict:207 - labbie.config.OcrConfig __VERSION__=Missing
2022-02-05 19:18:09.807 | DEBUG    | labbie.mixins:type_hook:107 - HOOKED labbie.bounds.Bounds
2022-02-05 19:18:09.807 | DEBUG    | labbie.mixins:from_dict:207 - labbie.bounds.Bounds __VERSION__=Missing
2022-02-05 19:18:09.808 | DEBUG    | labbie.di.module:provide_config:24 - Loaded config Config(ui=UiConfig(hotkeys=HotkeysConfig(ocr='F2')), ocr=OcrConfig(clear_previous=True, bounds=Bounds(left=335, top=207, right=923, bottom=462)), league=True, daily=True)
2022-02-05 19:18:10.426 | DEBUG    | labbie.resources:needs_update:88 - C:\Users\Christian\Desktop\Labbie\Labbie\data\resources\stats.json.gz needs_update=False cached_hash='vhylmL8Wh9A87219JRJ1jg=='==remote_hash='vhylmL8Wh9A87219JRJ1jg=='
2022-02-05 19:18:10.577 | DEBUG    | labbie.resources:needs_update:88 - C:\Users\Christian\Desktop\Labbie\Labbie\data\resources\items.json.gz needs_update=False cached_hash='yuJNqQXH0zip7LS9hnb6tQ=='==remote_hash='yuJNqQXH0zip7LS9hnb6tQ=='
2022-02-05 19:18:10.726 | DEBUG    | labbie.resources:needs_update:88 - C:\Users\Christian\Desktop\Labbie\Labbie\data\resources\mods.json.gz needs_update=False cached_hash='9vJPY47pGMnkjKj2pKlTpw=='==remote_hash='9vJPY47pGMnkjKj2pKlTpw=='
2022-02-05 19:18:10.728 | DEBUG    | labbie.mixins:notify:90 - labbie.state.AppState notify, event='resources_ready' args=(True,)
2022-02-05 19:18:10.728 | DEBUG    | labbie.mixins:notify:94 - labbie.state.AppState generic notify
2022-02-05 19:18:10.733 | DEBUG    | labbie.ui.app.presenter:_ocr_hotkey_changed:40 - ocr hotkey changed val='F2'
2022-02-05 19:18:10.931 | DEBUG    | labbie.ui.app.presenter:show:113 - Getting new presenter for key=SystemTrayIconKey()
2022-02-05 19:18:10.961 | DEBUG    | labbie.ui.app.presenter:show:113 - Getting new presenter for key=SearchWindowKey(results=None, clear=False)
2022-02-05 19:18:11.312 | DEBUG    | labbie.ui.search.widget.presenter:populate_view:77 - results=None
2022-02-05 19:18:11.496 | INFO     | labbie.enchants:download_or_load:109 - starting refresh task for league
2022-02-05 19:18:11.497 | INFO     | labbie.enchants:download_or_load:109 - starting refresh task for daily
2022-02-05 19:18:16.668 | DEBUG    | labbie.mods:mod_trie:112 - Creating Trie
2022-02-05 19:18:16.677 | DEBUG    | labbie.mods:get_mod_list_from_ocr_results:120 - Data from OCR['Trigger Commandment of Ire when Hit', "Adds 1 to 160 Lightning Damage if you haven't", 'Killed Recently', 'Arc deals 12% increased Damage for each time it', 'has Chained', '24% increased Infernal Blow Area of Effect', 'Corrupting Fever has +50% chance to inflict an', 'additional Corrupted Blood Debuff']
2022-02-05 19:18:16.677 | DEBUG    | labbie.ui.app.presenter:screen_capture:73 - curr_enchants=['Arc deals 12% increased Damage for each time it has Chained', '24% increased Infernal Blow Area of Effect', 'Corrupting Fever has +50% chance to inflict an additional Corrupted Blood Debuff']
2022-02-05 19:18:16.677 | DEBUG    | labbie.ui.app.presenter:screen_capture:77 - index=1: enchant='Arc deals 12% increased Damage for each time it has Chained'
2022-02-05 19:18:16.677 | DEBUG    | labbie.ui.app.presenter:show:113 - Getting new presenter for key=ErrorWindowKey(exception='Enchants have not finished loading.')
2022-02-05 19:18:16.683 | ERROR    | labbie.ui.error.widget.presenter:populate_view:23 - Enchants have not finished loading.
Traceback (most recent call last):

  File "C:\Users\Brandon Norick\AppData\Local\pypoetry\Cache\virtualenvs\labbie-Vo48-Db_-py3.8\Lib\site-packages\cx_Freeze\initscripts\__startup__.py", line 113, in run

  File "C:\Users\Brandon Norick\AppData\Local\pypoetry\Cache\virtualenvs\labbie-Vo48-Db_-py3.8\Lib\site-packages\cx_Freeze\initscripts\Console.py", line 15, in run

  File "entry_point.py", line 4, in <module>

  File "D:\dev\labbie\src\labbie\__main__.py", line 73, in main

  File "C:\Users\Brandon Norick\AppData\Local\pypoetry\Cache\virtualenvs\labbie-Vo48-Db_-py3.8\lib\site-packages\qasync\__init__.py", line 378, in run_forever

  File "D:\dev\labbie\src\labbie\ui\app\presenter.py", line 55, in _ocr_hotkey_pressed

> File "D:\dev\labbie\src\labbie\ui\app\presenter.py", line 81, in screen_capture

  File "D:\dev\labbie\src\labbie\enchants.py", line 207, in find_matching_enchants

labbie.errors.EnchantsNotLoaded: Enchants are not loaded.
2022-02-05 19:18:18.245 | DEBUG    | labbie.ui.base:closeEvent:106 - closeEvent, signalling
2022-02-05 19:18:18.254 | DEBUG    | labbie.ui.app.presenter:delete:131 - deleting key=ErrorWindowKey(exception='Enchants have not finished loading.')
2022-02-05 19:18:21.192 | DEBUG    | labbie.ui.app.presenter:show:113 - Getting new presenter for key=ErrorWindowKey(exception=EnchantsNotLoaded('Enchants are not loaded.'))
2022-02-05 19:18:21.196 | ERROR    | labbie.ui.error.widget.presenter:populate_view:23 - Enchants are not loaded.
Traceback (most recent call last):

  File "C:\Users\Brandon Norick\AppData\Local\pypoetry\Cache\virtualenvs\labbie-Vo48-Db_-py3.8\Lib\site-packages\cx_Freeze\initscripts\__startup__.py", line 113, in run

  File "C:\Users\Brandon Norick\AppData\Local\pypoetry\Cache\virtualenvs\labbie-Vo48-Db_-py3.8\Lib\site-packages\cx_Freeze\initscripts\Console.py", line 15, in run

  File "entry_point.py", line 4, in <module>

  File "D:\dev\labbie\src\labbie\__main__.py", line 73, in main

  File "C:\Users\Brandon Norick\AppData\Local\pypoetry\Cache\virtualenvs\labbie-Vo48-Db_-py3.8\lib\site-packages\qasync\__init__.py", line 378, in run_forever

> File "D:\dev\labbie\src\labbie\ui\search\widget\presenter.py", line 105, in on_search_mod

  File "D:\dev\labbie\src\labbie\enchants.py", line 207, in find_matching_enchants

labbie.errors.EnchantsNotLoaded: Enchants are not loaded.
2022-02-05 19:18:26.548 | INFO     | labbie.enchants:_download_when_available:172 - checking if fresh daily scrape is downloadable
2022-02-05 19:18:26.548 | INFO     | labbie.enchants:_download_when_available:172 - checking if fresh league scrape is downloadable
2022-02-05 19:18:27.796 | DEBUG    | labbie.ui.base:closeEvent:106 - closeEvent, signalling
2022-02-05 19:18:27.805 | DEBUG    | labbie.ui.app.presenter:delete:131 - deleting key=ErrorWindowKey(exception=EnchantsNotLoaded('Enchants are not loaded.'))
2022-02-05 19:18:39.782 | DEBUG    | labbie.ui.base:closeEvent:106 - closeEvent, signalling

HTTP ERROR 500

Hello.
When i try to price check any base, any chant, i see this. in my browser.
31232

Further Lab functionality

Hey there,

I plan to spend a month or so diving into this project both to teach myself (more) python and to include some functionality I'd love to have for next leaguestart.

More specifically, I want to add OAuth Login so Labbie can pull stash tab data; and a way to store Item Name + Positon along with the needed enchant and pricetag for lab services. Ideally I'd want Labbie to be able to scan which enchants are offered, then pinpoint me to exactly which item(s) need that enchant and show me how much I'm getting paid for it.

Additionally, I'd want to be able to click a "scan" button, that then parses through my stash tabs and tells me which bases I am short on and need to stock up again.

I do now know what your exact vision is for Labbie, so I'd like to know if I should hack this together so it works for me, or make it pretty and readable for eventual merging.

app disapear

when i download and extract the file, i can launch the app labbie then windows opens a window where i need to execute it and then it loads and the app disappear from the folder and can't get it back / use it. re extract re launch the app and disappear again

Feature Request: Ability to resize labbie window

Currently, if I accidentally full screen labbie, I have no option to revert back to the smaller size. The window is not re-sizeable by dragging corners like some other windowed applications. Resetting window position does not reset it to the default size, it only moves it to the default screen for my screen layout. Closing and re-opening labbie will revert it to the normal size. I feel like the reset button should either reset it to the normal window size, or the window should be dynamically sizeable by dragging corners or sides of the window.

Closing as soon as you press screencapture

Not sure if its only me, downloaded multiple times to test it. Each time i try to use the tool its closes itself. It fixes itself now after 300restarts or something. Not sure if its a problem with the app or on my end.

add enchant history

Hi!

Would be great if we could see a historic list of all looked up enchantes. Even futher maybe the posibillity to log, which of the enchants were chosen

Install Help

Hello, I saw labbie being used and I was hoping to be able to try it out for the 3.17 league. Any instructions on how to install?
Also, I respect the costs associated with hosting your own project and will happily contribute if I can figure this out. Thank you!

"Screen Capture" feature doesn't work in some cases

I've encountered an issue with Labbie where the "Screen Capture" feature doesn't work.
This is not a 100% reproductible issue. I've only manage to reproduce it about 5/10 times.

For ease of description I've created a video capturing the issue in action - https://www.youtube.com/watch?v=qioDFRdSSqk

Here is the contents of the "current_run.log" file - https://pastebin.com/AYjYuitS
Here is the contents of the "prev_run.log" file - https://pastebin.com/EACSGCBS

I'm using 2 widescreen monitors, both are 2560x1080. I'm using both in landscape mode.

Enchants not loading

This has been happening for a couple of days now, where it says "enchants are not loaded" or "enchants have not finished loading". Below is my current_run.log.

2023-02-11 13:01:16.305 | INFO     | labbie.constants:load:67 - Loading constants from C:\Users\seel\Desktop\PoE\Labbie\config\constants.toml specified by default (with 0 overrides).
2023-02-11 13:01:16.312 | INFO     | labbie.config:load:72 - Loading config from C:\Users\seel\Desktop\PoE\Labbie\config\config.toml
2023-02-11 13:01:16.660 | WARNING  | labbie.mods:_build_helm_mod_info:72 - No trade text found for index=620 mod_variants=[['Venom Gyre has a {0}% chance to keep caught Projectiles fired by using Whirling Blades', ['#'], [25], True]]
2023-02-11 13:01:17.006 | INFO     | labbie.enchants:download_or_load:109 - starting refresh task for league
2023-02-11 13:01:17.007 | INFO     | labbie.enchants:download_or_load:109 - starting refresh task for daily
2023-02-11 13:01:32.031 | INFO     | labbie.enchants:_download_when_available:172 - checking if fresh daily scrape is downloadable
2023-02-11 13:01:32.031 | INFO     | labbie.enchants:_download_when_available:172 - checking if fresh league scrape is downloadable
2023-02-11 13:06:32.235 | INFO     | labbie.enchants:_download_when_available:172 - checking if fresh daily scrape is downloadable
2023-02-11 13:06:32.249 | INFO     | labbie.enchants:_download_when_available:172 - checking if fresh league scrape is downloadable
2023-02-11 13:10:30.031 | ERROR    | labbie.ui.error.widget.presenter:populate_view:23 - Enchants have not finished loading.
Traceback (most recent call last):

  File "C:\Users\Brandon Norick\AppData\Local\pypoetry\Cache\virtualenvs\labbie-IkLzptv6-py3.8\Lib\site-packages\cx_Freeze\initscripts\__startup__.py", line 138, in run

  File "C:\Users\Brandon Norick\AppData\Local\pypoetry\Cache\virtualenvs\labbie-IkLzptv6-py3.8\Lib\site-packages\cx_Freeze\initscripts\console.py", line 16, in run

  File "entry_point.py", line 4, in <module>

  File "D:\dev\scratch\labbie\src\labbie\__main__.py", line 73, in main

  File "C:\Users\Brandon Norick\AppData\Local\pypoetry\Cache\virtualenvs\labbie-IkLzptv6-py3.8\lib\site-packages\qasync\__init__.py", line 378, in run_forever

  File "D:\dev\scratch\labbie\src\labbie\ui\search\widget\presenter.py", line 192, in on_screen_capture

> File "D:\dev\scratch\labbie\src\labbie\ui\app\presenter.py", line 85, in screen_capture

  File "D:\dev\scratch\labbie\src\labbie\enchants.py", line 207, in find_matching_enchants

labbie.errors.EnchantsNotLoaded: Enchants are not loaded.
2023-02-11 13:11:32.437 | INFO     | labbie.enchants:_download_when_available:172 - checking if fresh daily scrape is downloadable
2023-02-11 13:11:32.453 | INFO     | labbie.enchants:_download_when_available:172 - checking if fresh league scrape is downloadable

Linux support

Hello there!

In the README, it currently states:

Labbie was written to use on the Windows operating system, so YMMV if you choose to try with other operating systems

Now, as far as I can tell, labbie will not run on a non-Windows OS as it is, since it uses ctypes.windll and the Windows-only version of mmap.mmap.

I could get it to work for myself fairly easily, though, so I was wondering if you'd be interested in changing it to support Linux at all. I can, of course, submit a PR, since I will be working on this for myself either way, but if you want to support it, I will also try to preserve Windows support ;)
If it's just for myself, I'll just hack it together.

If so, I do have some questions, though:

  • ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(myappid) (ui/utils.py)
    This is the only place where ctypes.windll is used. I just commented it out and it seems to work fine - what does this even do? I suspect just guarding this so it only executes on Windows would be sufficient here.
  • mmap.mmap(-1, 1, 'labbie_instances') (utils.py)
    The third argument here is Windows-only. Removing this seems to work fine. I think, but have not confirmed, that always using the same tag is the same as no tag. In that case, simply removing this kw argument altogether would work just fine. However, if there is a reason why this needs to stay, the solution for Linux will probably end up a lot more complicated...
  • font.setPixelSize(1.5 * self._thumb_radius) (ui/switch.py)
    It did not like this being a float, so I just cast it to an integer. I doubt the extra precision is needed, is it?
  • pytesseract.pytesseract.tesseract_cmd = str(utils.bin_dir() / 'tesseract' / 'tesseract.exe') (ocr.py)
    Bundling tesseract for Linux would be silly, especially since this would most likely still only be unofficial support. Expecting tesseract to be on the PATH is probably the most sensible option here, and it stays bundled for Windows. What do you think?

And finally, it just crashed when I clicked the "All" button, with:

Traceback (most recent call last):
  File "/home/xandaros/workspace/labbie/src/labbie/ui/search/widget/presenter.py", line 180, in on_all
    self.populate_view(bases_result)
  File "/home/xandaros/workspace/labbie/src/labbie/ui/search/widget/presenter.py", line 89, in populate_view
    result_presenter.populate_view(result)
  File "/home/xandaros/workspace/labbie/src/labbie/ui/result/widget/presenter.py", line 169, in populate_view
    league_results = self._build_enchant_search_display_results(result.league_result)
  File "/home/xandaros/workspace/labbie/src/labbie/ui/result/widget/presenter.py", line 456, in _build_enchant_search_display_results
    krangled_base = self._bases.helms[base].base if unique else base
KeyError: 'Sudden Dawn'

I'm... not sure this is actually a Linux problem. For testing, I wrapped it in a try/except and just set krangled_base = base on error. No idea if that is anywhere close to correct, but it appeared to work at first glance.

As I mentioned, I got it mostly working for myself. Hotkeys don't work without root, so that needs fixing, but everything else appears to work. I did test some screen captures, as well, though only from screenshots.
If there is interest in making it run on other operating systems, even if there won't be official support, I'll make a proper PR.

Unable to bind "²"

I'm trying to use "²" (top left corner of AZERTY keyboard) as Hotkey. It works but at startup I always get an error message Unable to bind "²".

Item level

Add a feature to set a minimun item lvl for non unique items :D

Issue starting Labbie.exe

I just downloaded Labbie.zip and extracted it to the same SSD I have my PoE. I attempted to start Labbie.exe, but a python error popped up. It states:

cx_Freeze: Python error in main script

I have attached a picture of the full error.
image

Do I have to edit the python file to and change the file paths? I didn't see anything in the download instructions. I'm assuming it is just an error with me. I tried downloading previous versions and I'm still getting the same error.

Volatile Dead Consupes up to 1 Corpse wrongly searched on trade

Hi,
for Volatile Dead Consumes up to 1 additional Corpse the current search stat is "Volatile Dead Consumes up to 1 additional Corpse" which shows up no items. Correct stat search which works is "Volatile Dead Consumes up to # additional Corpse", no idea why trade site has both options to choose.
Keep up the good work !

File Access Restricted After Extract

Hello,

After downloading the zip and extracting the file, I experience access issues on an administrator account. I've tried to look through different possibilities that would be causing the app to not download (sharing access, removing access requirements, running as admin, etc.) but I cannot find a solution. I have not had this issue with other downloaded apps. Could this be caused by something on the back end or most likely related to a setting I have but have not found?

Missing base makes pressing "All" button crash the application

Hello!

At this moment, pressing "All" button completely crashes the Labbie. Its been like that for about a week, I think. There is no logs to investigate, even with Labbie executed in debug mode through "About" window, or through a property.

I've run some debugging and have found that this is caused by items.json.gz not having the Sudden Dawn helmet record in it.
Adding [true, Sudden Dawn, Steel Circlet] into the items json manually fixes the issue.

The line that actually crashes the application is src/labbie/ui/result/widget/presenter.py:456:
krangled_base = self._bases.helms[base].base if unique else base

Because there is no check such as if base in self._bases.helms: before accessing the helms[base].base the exception is being thrown, which crashes the app.

Since the database comes from your Azure cloud (from what I understood) - it has to be fixed there, I assume?...

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.