Giter VIP home page Giter VIP logo

lutris-kodi-addon's Introduction

Lutris Kodi Addon

Kodi add-on to launch games through Lutris.

Lutris Kodi Addon Screenshot

Features

  • Display games managed by Lutris in Kodi
  • Launch games using Lutris from Kodi

Prerequisites

Install from repository (Matrix and above)

  1. Make sure that Unknown Sources is enabled in Settings → System → Add-ons

  2. Install solbero's Kodi add-on repository

  3. Visit Home → Settings → Add-ons → Install from repository → solbero’s Kodi add-on repository → Game add-ons → Game providers → Lutris → Install

Install from repository (Leia and below)

  1. Make sure that Unknown Sources is enabled in Settings → System → Add-ons

  2. Install solbero's Kodi add-on repository

  3. Visit Home → Settings → Add-ons → Install from repository → solbero’s Kodi add-on repository → Game add-ons → Game providers → Lutris → Install

Install manually (Matrix and above)

  1. Download the latest version of the Lutris Kodi Addon

  2. Go to Settings → Add-ons → Install from zip file

  3. Navigate to where you placed the zip file and select Install

Development

git clone [email protected]:RobLoach/lutris-kodi-addon.git ~/.kodi/addons/plugin.lutris
cd ~/.kodi/addons/plugin.lutris
git status

About

lutris-kodi-addon's People

Contributors

arustler avatar hzeroo avatar liberavia avatar robloach avatar sharkwouter avatar solbero 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lutris-kodi-addon's Issues

Outdated addon in the repository

I used this version on Debian10/KDE. Apparently it recently it stopped working with this error in the logs:

ERROR <general>: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                                    - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                                   Error Type: <class 'UnboundLocalError'>
                                                   Error Contents: local variable 'result' referenced before assignment
                                                   Traceback (most recent call last):
                                                     File "/home/username/.kodi/addons/plugin.lutris/addon.py", line 7, in <module>
                                                       from lib import main
                                                     File "/home/username/.kodi/addons/plugin.lutris/lib/main.py", line 23, in <module>
                                                       game_list = lutris.check_cache('games', lutris.get_games)
                                                     File "/home/username/.kodi/addons/plugin.lutris/lib/lutris.py", line 177, in check_cache
                                                       array = rebuild_cache(endpoint, func, *args, **kwargs)
                                                     File "/home/username/.kodi/addons/plugin.lutris/lib/lutris.py", line 197, in rebuild_cache
                                                       array = func(*args, **kwargs)
                                                     File "/home/username/.kodi/addons/plugin.lutris/lib/lutris.py", line 116, in get_games
                                                       response = json.loads(result)
                                                   UnboundLocalError: local variable 'result' referenced before assignment
                                                   -->End of Python script error report<--

So I deinstalled the addon (by going to Games -> Lutris -> pressing C -> Information -> Deinstall) and tried reinstalling it from the solbero's repository. However, it's still version 1.4.3 there. Could a newer (and functional on Debian) version be uploaded to the repo?

Display Run Notification

When running a game, display a notification to let the user to know to wait...

Running %GameName
Please wait...

Or something like that.

Check add-on compatibility against Python 3

Kodi will drop support for Python 2 in v.19. The current release v.18 (Leia) is the last release to offer Python 2 support.

We should check the add-on's compatibility againt Python 3 to make sure we are compliant with the new version.

Unable to parse lutris error

When trying to launch the addon, it throws this.

...
2020-08-31 02:17:56.419 T:139670712051456   ERROR: GetDirectory - Error getting include
2020-08-31 02:17:56.499 T:139670676420352   ERROR: Previous line repeats 27 times.
2020-08-31 02:17:56.499 T:139670676420352   ERROR: GetDirectory - Error getting Submenu
2020-08-31 02:17:56.499 T:139670676420352   ERROR: GetDirectory - Error getting include
2020-08-31 02:17:57.762 T:139668859094784   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.ValueError'>
                                            Error Contents: Extra data: line 38 column 1 - line 39 column 1 (char 917 - 969)
                                            Traceback (most recent call last):
                                              File "/home/turpster/.kodi/addons/script.lutris/default.py", line 294, in <module>
                                                router(sys.argv[2][1:])
                                              File "/home/turpster/.kodi/addons/script.lutris/default.py", line 288, in router
                                                list_games()
                                              File "/home/turpster/.kodi/addons/script.lutris/default.py", line 166, in list_games
                                                games = get_games()
                                              File "/home/turpster/.kodi/addons/script.lutris/default.py", line 149, in get_games
                                                response = json.loads(result)
                                              File "/usr/lib/python2.7/json/__init__.py", line 339, in loads
                                                return _default_decoder.decode(s)
                                              File "/usr/lib/python2.7/json/decoder.py", line 367, in decode
                                                raise ValueError(errmsg("Extra data", s, end, len(s)))
                                            ValueError: Extra data: line 38 column 1 - line 39 column 1 (char 917 - 969)
                                            -->End of Python script error report<--
2020-08-31 02:17:57.804 T:139670712051456   ERROR: GetDirectory - Error getting plugin://script.lutris/
2020-08-31 02:18:55.921 T:139669937297152  NOTICE: script.tv.show.next.aired: ### no prior data found
2020-08-31 02:18:57.921 T:139669937297152  NOTICE: script.tv.show.next.aired: ### starting data update
2020-08-31 02:18:57.921 T:139669937297152  NOTICE: script.tv.show.next.aired: ### grabbing a new country mapping list
2020-08-31 02:23:57.683 T:139669945689856 WARNING: Repository has MD5 hashes enabled - this hash function is broken and will only guard against unintentional data corruption
...

The error shows us that there is extra data of 969-917=52 characters.

ValueError: Extra data: line 38 column 1 - line 39 column 1 (char 917 - 969)

And when I execute lutris --list-games --installed --json

Unable to load locale dir, translations won't work.
2020-08-31 11:06:15,546: MAME XML generation launched in the background, not returning anything this time
2020-08-31 11:06:15,546: Getting full game list from MAME...
2020-08-31 11:06:15,547: MAME isn't installed, can't retrieve systems list.
2020-08-31 11:06:15,837: Running Lutris 0.5.7.1
2020-08-31 11:06:15,837: Using NVIDIA drivers 450.57 for x86_64
2020-08-31 11:06:15,837: GPU: GeForce GTX 970
2020-08-31 11:06:15,837: GPU: 10DE:13C2 10DE:13C2 using nvidia drivers
2020-08-31 11:06:15,880: Vulkan is supported
[
  {
    "id": 2,
    "slug": "bulletstorm-full-clip-edition",
    "name": "Bulletstorm Full Clip Edition",
    "runner": "winesteam",
    "directory": "/run/media/turpster/Files/Games/steamapps/common/Bulletstorm Full Clip Edition"
  },
  {
    "id": 5,
    "slug": "godfather-2",
    "name": "Godfather 2",
    "runner": "wine",
    "directory": "/run/media/turpster/Files/Games/Godfather II/drive_c/Program Files (x86)/KNIGHT/The Godfather II"
  },
  {
    "id": 1,
    "slug": "origin",
    "name": "Origin",
    "runner": "wine",
    "directory": "/home/turpster/Games/origin"
  },
  {
    "id": 3,
    "slug": "photoshop-cc-2020",
    "name": "Photoshop CC",
    "runner": "wine",
    "directory": ""
  },
  {
    "id": 4,
    "slug": "wolfenstein",
    "name": "Wolfenstein",
    "runner": "wine",
    "directory": "/home/turpster/Games/Wolfenstein/drive_c/Program Files (x86)/DODI-Repacks/Wolfenstein"
  }
]
2020-08-31 11:06:15,883: Shutting down Lutris
2020-08-31 11:06:15,885: MAME XML written

The first line of the output Unable to load locale dir, translations won't work. is 52 characters long (including the linebreak) and tells me that there is no logic to parse this data and so the add on does not load.

Make Lutris Addon easier to install

Dude this addon is amazing thank you so much for your efforts!! Have you thought about setting up a repo or submitting the addon to the official kodi team?

Localization Kodi v.19

In Kodi v.19 the Addon isn't working anymore.
This is due to the change of the localization structure .

Error Contents: not all arguments converted during string formatting
    Traceback (most recent call last):
    File "/home/kodi/.kodi/addons/script.lutris/default.py", line 121, in <module>
    commands.append((language(30200) % (runner), 'RunPlugin(%s?mode=folder&id=%d&slug=%s&gamename=%s)' % (base_url, game_id, slug + ' --reinstall', name)))
    TypeError: not all arguments converted during string formatting
    -->End of Python script error report<--

Make a new release

Could you make a new release for the add-on, @RobLoach? There are several new features which I would like to pull into the add-on Kodi repository, but I cannot pull then before a new release is made.

Only icons are shown instead of covers / restricted view type selection

Despite me having set the option to prefer covers Kodi shows only icons.
Also the selection of views is restricted to list and preview, although the skin recognizes the addon as a game addon and according to the skin I should have at least 4 views available for game addons. Just to test it out I modded the skin config to add more views, but this is not recognized by the Lutris addon.

Here's a log in debug mode: https://paste.ubuntu.com/p/3RVZKVjhMq/

Rewrite default.py to use functions

All changes are contained in branch function_rewrite.

Features implemented

  • New router function
  • New lutris function to get executable path and append arguments to command
  • New inhibit_shutdown function using Kodi built-in functions insted of JSON-RPC
  • New get_url function to construct Kodi URLs
  • Addon is only visible in “Games” category in Kodi UI
  • List installed games or all games, not installed games have (not installed) appended to title
  • Add install or reinstall context menu to items, context menu displayed depends on game installed status
  • All inputs are decoded to unicode
  • All outputs, except for outputs going to Kodi, are encoded to UTF-8
  • Add new language strings, and remove strings no longer in use

Features not working

  • Display information about games from infoLabels

Features removed

  • Lutris item removed from game list

Unable to run, incorrect directory

I installed the lutris kodi addon using solbero's repository, but the plugin doesn't run.

21:56:06.125 T:140063799224064   ERROR: GetDirectory - Error getting
21:56:06.220 T:140063170094848   ERROR: Previous line repeats 2 times.
21:56:06.220 T:140063170094848   ERROR: ExecuteAsync - Not executing non-existing script /home/htpc/.kodi/addons/script.lutris/default.py
21:56:06.220 T:140063170094848   ERROR: Unable to run plugin Lutris
21:56:06.220 T:140064920709184   ERROR: GetDirectory - Error getting plugin://script.lutris/
21:56:06.220 T:140064920709184   ERROR: CGUIMediaWindow::GetDirectory(plugin://script.lutris/) failed

Looking at the directory, it seems like kodi is looking in the script.lutris directory, but the actual script is nested in script.lutris/script.lutris directory.

[htpc@ellen addons]$ pwd
/home/htpc/.kodi/addons
[htpc@ellen addons]$ tree script.lutris/
script.lutris/
├── addon.xml
├── changelog-1.1.1.txt
├── changelog-1.2.0.txt
├── changelog-1.2.1.txt
├── fanart.jpg
├── icon.png
├── LICENSE.txt
├── script.lutris
│   ├── addon.xml
│   ├── changelog.txt
│   ├── default.py
│   ├── fanart.jpg
│   ├── icon.png
│   ├── LICENSE.txt
│   ├── README.md
│   └── resources
│       ├── language
│       │   └── English
│       │       └── strings.xml
│       ├── media
│       │   └── screenshot.jpg
│       └── settings.xml
├── script.lutris-1.1.1.zip.md5
├── script.lutris-1.2.0.zip.md5
└── script.lutris-1.2.1.zip.md5

5 directories, 20 files

Launching games brings up Lutris in Kodi

I have used your add-on for a while, but lately it has started to bring up Lutris in Kodi when I launch a game. In Lutris a dialogue is displayed which asks me if i want to launch the game or install it. This only happens when I launch a game from the add-on, but not if I bring up Lutris and then launch a game from there. I have updated the add-on to 1.1.1.

This is not ideal for me, since I’m using a controller and therefore have to get a keyboard and mouse to close Lutris.

I’m on Kodi v17.3 using Ubuntu 16.04.

Lutris dosent launch

Lutris dosent launch

2023-06-14 12:51:36.953 T:7650    ERROR <general>: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                                    - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                                   Error Type: <class 'SyntaxError'>
                                                   Error Contents: invalid syntax (lutris.py, line 44)
                                                   Traceback (most recent call last):
                                                     File "/home/nishant/.kodi/addons/plugin.lutris/addon.py", line 7, in <module>
                                                       from lib import router
                                                     File "/home/nishant/.kodi/addons/plugin.lutris/lib/router.py", line 15, in <module>
                                                       import lib.lutris as lutris
                                                     File "/home/nishant/.kodi/addons/plugin.lutris/lib/lutris.py", line 44
                                                       raise ValueError(f"Executable 'lutris' not in custom path '{result}'")
                                                                                                                           ^
                                                   SyntaxError: invalid syntax
                                                   -->End of Python script error report<--
                                                   
                                                   

Check if Lutris is installed on first run

This is just a thought. On first run, the add-on could check if Lutris is installed in PATH using distutils.spawn.find_executable. If it finds it, it could paste the resulting path to settings.xml.

If it doesn’t find it, a dialog box could pop open with some information on where to find Lutris and install it.

Error handling

What happens when Lutris is not available?

What happens if it returns no games?

What happens if it doesn't return at all?

Add option to change icon type in add-on settings

Would it be possible to expose an option in the add-on’s settings to change the game icons from banner to square icons? Bothe icon sets are used by the Lutris client.

Some kodi skins (such as Pellucid, probably others as well) display the game icons in a square in the add-on. To fit this square the banner icons are compressed along the x-axis. However, the square icons from Lutris would fit beautifully. Also, I imagine the square icons would fit better in those skins where you can display the games in list view.

Show game cover instead of game icon

Personally I think the games pictures should be the covers and not the icons. Please consider having a setting to change this or to change the game images in Kodi to the Lutris game covers.

error on start

Hi. I just installed it on OSMC Kodi 19.1, but it throws an error. The log reports the following error:

ERROR` <general>: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<-- - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS! Error Type: <class 'subprocess.CalledProcessError'> Error Contents: Command '['/usr/games/lutris', '--list-games', '--installed', '--json']' returned non-zero exit status 1.

Thanks

Add-on does not display under Add-ons / how to start it?

I followed the steps of "Install from repository". Some steps were a bit different so I had to search around a bit. For example the only way I could get to "Install from .zip file" was not Settings → Add-ons → Install from zip file but Add-ons (click, not hover) → the package icon in the upper left

But now I don't know how to launch it. No explainer was displayed. There aren't any steps in the readme with further info. No "Games" or "Lutris" or anything similarly clear is displayed in the panel on the left. I could find the Lutris AddOn after entering "Lutris" into the search under Add-ons (hover). When I click "Open" there nothing happens and I don't get any error messages in the console. I also looked into the configuration which should be fine and Lutris does launch when I click "Open Lutris" there.

How to use it? And could the documentation please be improved a bit to make things easier?

Debian10/KDE
Kodi 17.6
Lutris 0.5.7.1

Add game specific infoLabels to ListItems

With the new games content type in Kodi v18 it is possible to set game specific InfoLabes for the ListItems in the addon. This makes it possible to display information about a game in skins that support this feature (most of them).

Available infoLabels for the games content type are:

Info label Description
title string (Super Mario Bros.)
platform string (Atari 2600)
genres list (["Action","Strategy"])
publisher string (Nintendo)
developer string (Square)
overview string (Long Description)
year integer (1980)
gameclient string (game.libretro.fceumm

It should be possible to scrape this info from lutris.net, or perhaps it is already exposed in the Lutris client somewhere? The website uses the URL format https://lutris.net/games/[slug]/, and the game slugs are already known.

I will be able to implement the infoLabels in the code, but I have no experience scraping info from a website. I looked a little bit at Kodi's documentation and it seems to have a powerful built in scraper.

Any thoughts, @RobLoach or @arustler?

Addon not detecting all games

Hello!

When I launch the Lutris addon in Kodi it only detects two of my games, but as you can see in the attached screenshots I have a lot more than just those two. Why isn't it detecting all of them?
2021-08-08-155012_1920x1080_scrot
2021-08-08-154956_1920x1080_scrot

Addon does not prevent suspend or shutdown depending on Kodi settings

When starting a game Kodi will suspend or shutdown depending on the Kodi settings.
It seems that the runner does not matter. It happens to Wine and Retroarch so far. I don't have any other runners currently installed.

My setup:

  • Intel NUC5i5RYH with Xbox One S Controller
  • Ubuntu 18.05 Server Install
  • openbox WM

Boot process:

  1. autologin via [email protected]
  2. starting openbox-session via .xinitrc
  3. starting /usr/bin/kodi -fs via .conf/openbox/autostart

I am trying to avoid the installation of a Power Managing Tool like pm-utils. I'd like to configure the Power Management options via Kodi.

I have tried to figure out how Kodi executes the suspend/shutdown signal but was unsuccessful. The Python Kodi API does only give the option to toggle the DPMS option.

I'm willing to help in this matter and provide needed logs.

A newer screenshot in the readme

Please upload one or more newer screenshots to the readme. It doesn't look like the one currently in the readme anymore and screenshots is what many people considering installing this addon are mostly interested in before deciding to install. I'd add a screenshot of the Wall and/or Shift view with all games having game-covers.

Lutris gui loads

Hey guys awesome work with the addon. I don't know when it happened but now lutris gui loads after I launch a game and doesn't close after exiting the game. Is the common?

Create/Support Playnite Addon

Playnite is a free open source game library for Windows, it is essentially Lutris on Windows which does support emulators and PC games. Please consider making an addon for Playnite or adding Playnite support into this addon.

https://playnite.link/

Crash when selecting Lutris

Whether I use the zip file or from the repository, kodi crashes when I select lutris. version 0.5.9.1 of lutris is installed. here are the crash logs:

021-12-30 16:08:21.720 T:46483    INFO <general>: Loading skin file: MyGames.xml, load type: KEEP_IN_MEMORY
2021-12-30 16:08:21.788 T:46518    INFO <general>: initializing python engine.
2021-12-30 16:08:21.817 T:46518   ERROR <general>: Exception ignored deletion of interned string failed
2021-12-30 16:08:21.817 T:46518   ERROR <general>: :
                                                   
2021-12-30 16:08:21.817 T:46518   ERROR <general>: Traceback (most recent call last):
                                                   
2021-12-30 16:08:21.817 T:46518   ERROR <general>:   File "/usr/lib/python3.10/sqlite3/dbapi2.py", line 83, in register_adapters_and_converters
                                                   
2021-12-30 16:08:21.817 T:46518   ERROR <general>:     
2021-12-30 16:08:21.817 T:46518   ERROR <general>: register_converter("timestamp", convert_timestamp)
2021-12-30 16:08:21.817 T:46518   ERROR <general>: 
                                                   
2021-12-30 16:08:21.818 T:46518   ERROR <general>: KeyError
2021-12-30 16:08:21.818 T:46518   ERROR <general>: : 
2021-12-30 16:08:21.818 T:46518   ERROR <general>: 'timepart_full'
2021-12-30 16:08:21.818 T:46518   ERROR <general>: 
                                                   
2021-12-30 16:08:21.818 T:46518   ERROR <general>: Exception ignored deletion of interned string failed
2021-12-30 16:08:21.818 T:46518   ERROR <general>: :
                                                   
2021-12-30 16:08:21.818 T:46518   ERROR <general>: Traceback (most recent call last):
                                                   
2021-12-30 16:08:21.818 T:46518   ERROR <general>:   File "/usr/lib/python3.10/sqlite3/dbapi2.py", line 83, in register_adapters_and_converters
                                                   
2021-12-30 16:08:21.818 T:46518   ERROR <general>:     
2021-12-30 16:08:21.818 T:46518   ERROR <general>: register_converter("timestamp", convert_timestamp)
2021-12-30 16:08:21.818 T:46518   ERROR <general>: 
                                                   
2021-12-30 16:08:21.818 T:46518   ERROR <general>: KeyError
2021-12-30 16:08:21.818 T:46518   ERROR <general>: : 
2021-12-30 16:08:21.818 T:46518   ERROR <general>: 'timepart'
2021-12-30 16:08:21.818 T:46518   ERROR <general>: 
                                                   
2021-12-30 16:08:21.818 T:46518   ERROR <general>: Exception ignored deletion of interned string failed
2021-12-30 16:08:21.818 T:46518   ERROR <general>: :
                                                   
2021-12-30 16:08:21.818 T:46518   ERROR <general>: Traceback (most recent call last):
                                                   
2021-12-30 16:08:21.818 T:46518   ERROR <general>:   File "/usr/lib/python3.10/sqlite3/dbapi2.py", line 83, in register_adapters_and_converters
                                                   
2021-12-30 16:08:21.818 T:46518   ERROR <general>:     
2021-12-30 16:08:21.818 T:46518   ERROR <general>: register_converter("timestamp", convert_timestamp)
2021-12-30 16:08:21.818 T:46518   ERROR <general>: 
                                                   
2021-12-30 16:08:21.818 T:46518   ERROR <general>: KeyError
2021-12-30 16:08:21.818 T:46518   ERROR <general>: : 
2021-12-30 16:08:21.818 T:46518   ERROR <general>: 'datepart'
2021-12-30 16:08:21.818 T:46518   ERROR <general>: 
                                                   
2021-12-30 16:08:21.818 T:46518   ERROR <general>: Exception ignored deletion of interned string failed
2021-12-30 16:08:21.818 T:46518   ERROR <general>: :
                                                   
2021-12-30 16:08:21.818 T:46518   ERROR <general>: Traceback (most recent call last):
                                                   
2021-12-30 16:08:21.818 T:46518   ERROR <general>:   File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
                                                   
2021-12-30 16:08:21.818 T:46518   ERROR <general>: KeyError
2021-12-30 16:08:21.818 T:46518   ERROR <general>: : 
2021-12-30 16:08:21.818 T:46518   ERROR <general>: 'convert_timestamp'
2021-12-30 16:08:21.818 T:46518   ERROR <general>: 
                                                   
2021-12-30 16:08:21.818 T:46518   ERROR <general>: Exception ignored deletion of interned string failed
2021-12-30 16:08:21.818 T:46518   ERROR <general>: :
                                                   
2021-12-30 16:08:21.818 T:46518   ERROR <general>: Traceback (most recent call last):
                                                   
2021-12-30 16:08:21.818 T:46518   ERROR <general>:   File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
                                                   
2021-12-30 16:08:21.818 T:46518   ERROR <general>: KeyError
2021-12-30 16:08:21.818 T:46518   ERROR <general>: : 
2021-12-30 16:08:21.818 T:46518   ERROR <general>: 'convert_date'
2021-12-30 16:08:21.818 T:46518   ERROR <general>: 
                                                   
2021-12-30 16:08:21.818 T:46518   ERROR <general>: Exception ignored deletion of interned string failed
2021-12-30 16:08:21.818 T:46518   ERROR <general>: :
                                                   
2021-12-30 16:08:21.818 T:46518   ERROR <general>: Traceback (most recent call last):
                                                   
2021-12-30 16:08:21.818 T:46518   ERROR <general>:   File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
                                                   
2021-12-30 16:08:21.818 T:46518   ERROR <general>: KeyError
2021-12-30 16:08:21.818 T:46518   ERROR <general>: : 
2021-12-30 16:08:21.818 T:46518   ERROR <general>: 'adapt_datetime'
2021-12-30 16:08:21.818 T:46518   ERROR <general>: 
                                                   
2021-12-30 16:08:21.818 T:46518   ERROR <general>: Exception ignored deletion of interned string failed
2021-12-30 16:08:21.818 T:46518   ERROR <general>: :
                                                   
2021-12-30 16:08:21.818 T:46518   ERROR <general>: Traceback (most recent call last):
                                                   
2021-12-30 16:08:21.818 T:46518   ERROR <general>:   File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
                                                   
2021-12-30 16:08:21.818 T:46518   ERROR <general>: KeyError
2021-12-30 16:08:21.818 T:46518   ERROR <general>: : 
2021-12-30 16:08:21.818 T:46518   ERROR <general>: 'adapt_date'
2021-12-30 16:08:21.818 T:46518   ERROR <general>: 

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.