huntfx / MouseTracks

Track and display mouse and keyboard information for different applications.
GNU General Public License v3.0
138 stars 23 forks source link

Can't start tracking. KeyError: 'string' #31

Closed ptffr closed 7 years ago

ptffr commented 7 years ago

I've been trying to get this working but no luck.

Traceback (most recent call last): File ".\start_tracking.py", line 4, in <module> from core.track import start_tracking File "C:\Users\keenjus\coding\python\MouseTracks\core\track\__init__.py", line 12, in <module> from core.notify import * File "C:\Users\keenjus\coding\python\MouseTracks\core\notify.py", line 340, in <module> NOTIFY = Notify() File "C:\Users\keenjus\coding\python\MouseTracks\core\notify.py", line 104, in __init__ self.string = all_strings['string']['track'] KeyError: 'string'

Am I missing something?

huntfx commented 7 years ago

Actually I found the language file on here was also outdated, so I've replaced that. I'll download a copy of the project from here to quickly fix up any remaining bugs and get back to you :)

huntfx commented 7 years ago

Apologies haha, it appears I missed quite a bit. Should be all working now, let me know if there's still any problems you run into

ptffr commented 7 years ago

Well the tracking script seems to run but generate_images.py fails to import load_program. Seems like it's missing from core/files.py.

EDIT: seems like you fixed it already

huntfx commented 7 years ago

Just to double check, no other issues yet? :)

ptffr commented 7 years ago

Sorry for responding so late. Tracking works fine, but I can't generate images. I'm think my pywin installation might be botched or something.

1: Counter Strike: Global Offensive
2: Default
Page 1 of 1. Type "page <number>" to switch.
Type "sort 2" to sort results by name.
You can type the number or name of a profile to load it.
1
Importing modules...
Traceback (most recent call last):
  File "generate_images.py", line 285, in <module>
    user_generate()
  File "generate_images.py", line 151, in user_generate
    from core.image import RenderImage
  File "C:\Users\keenjus\coding\python\MouseTracks\core\image\__init__.py", line 7, in <module>
    from core.image.calculate import merge_resolutions, convert_to_rgb, arrays_to_heatmap, arrays_to_colour, gaussian_size
  File "C:\Users\keenjus\coding\python\MouseTracks\core\image\calculate.py", line 5, in <module>
    from core.image.scipy import blur, upscale
  File "C:\Users\keenjus\coding\python\MouseTracks\core\image\scipy\__init__.py", line 4, in <module>
    from core.image.scipy.gaussian import gaussian_filter
  File "C:\Users\keenjus\coding\python\MouseTracks\core\image\scipy\gaussian.py", line 35, in <module>
    from core.image.scipy import _ni_support, _nd_image
ImportError: DLL load failed: %1 is not a valid Win32 application.

Running this with Python 2.7 32bit

huntfx commented 7 years ago

No problem haha, and cheers for letting me know, it may quite possibly be something to do with your install being 32 bit.

If you have scipy installed, redownload core/image/scipy/init.py and it'll fall back to using the actual install if the import fails.

If that actually works, I'd really appreciate if you could send me over _nd_image.pyd from Python27\Lib\site-packages\scipy\ndimage, I have a feeling I may need to include a few versions of the file :)

ptffr commented 7 years ago

The scipy package does not contain _nd.image.py.

Importing modules...
Loading profile 1...
Traceback (most recent call last):
  File ".\generate_images.py", line 285, in <module>
    user_generate()
  File ".\generate_images.py", line 191, in user_generate
    kph = r.keys_per_hour()
  File "C:\Users\keenjus\coding\python\MouseTracks\core\image\__init__.py", line 223, in keys_per_hour
    return 3600 * total_presses / ticks
ZeroDivisionError: division by zero

and after hardcoding a random number for ticks

Traceback (most recent call last):
  File ".\generate_images.py", line 285, in <module>
    user_generate()
  File ".\generate_images.py", line 271, in user_generate
    r.tracks(last_session)
  File "C:\Users\keenjus\coding\python\MouseTracks\core\image\__init__.py", line 299, in tracks
    high_precision=high_precision)
  File "C:\Users\keenjus\coding\python\MouseTracks\core\image\calculate.py", line 40, in merge_resolutions
    max_x = max(x for x, y in resolutions)
ValueError: max() arg is an empty sequence

Should I try it with 64bit?

huntfx commented 7 years ago

it's a pyd file, not py, my mistake when I first wrote the comment haha.

The second part I'm still lacking an error message for, but when ticks is 0 it means the tracking file is empty. It usually happens if you attempt to generate one and mistype the name (since it will then generate a new empty file in memory) - though if the data file exists, there's something going wrong somewhere :P

huntfx commented 7 years ago

For the record I've updated core/image/__init__.py, core/files.py and generate_images.py to actually show the error message if the profile is empty. It shouldn't be showing up if you type "list" though, or else there is something a bit wrong :P

ptffr commented 7 years ago

Pulled the last changes, started recording again and the image generation worked!

Thanks for being so fast with the fixes!

huntfx commented 7 years ago

Awesome, and cheers for attempting to find fixes haha. Most of the things are pretty simple to fix since I've managed to get most of the major problems from running it for so long, definitely let me know if you hit any other issues though :)