aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/development/python-modules/imdbpy
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/development/python-modules/imdbpy')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/python-modules/imdbpy/default.nix25
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/python-modules/imdbpy/sql_error.patch39
2 files changed, 64 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/development/python-modules/imdbpy/default.nix b/infra/libkookie/nixpkgs/pkgs/development/python-modules/imdbpy/default.nix
new file mode 100644
index 000000000000..dea62f080093
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/python-modules/imdbpy/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildPythonPackage, fetchPypi, lxml, sqlalchemy }:
+
+buildPythonPackage rec {
+ pname = "IMDbPY";
+ version = "2020.9.25";
+
+ src = fetchPypi {
+ inherit pname version;
+ sha256 = "1p3j9j1jcgbw4626cvgpryhvczy9gzlg0laz6lflgq17m129gin2";
+ };
+
+ patches = [ ./sql_error.patch ]; # Already fixed in master, but not yet in the current release. This can be removed upon the next version update
+
+ propagatedBuildInputs = [ lxml sqlalchemy ];
+
+ doCheck = false; # Tests require networking, and https://github.com/alberanid/imdbpy/issues/240
+ pythonImportsCheck = [ "imdb" ];
+
+ meta = with lib; {
+ homepage = "https://imdbpy.github.io/";
+ description = "A Python package for retrieving and managing the data of the IMDb database";
+ maintainers = [ maintainers.ivar ];
+ license = licenses.gpl2Only;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/python-modules/imdbpy/sql_error.patch b/infra/libkookie/nixpkgs/pkgs/development/python-modules/imdbpy/sql_error.patch
new file mode 100644
index 000000000000..10770f4f1135
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/python-modules/imdbpy/sql_error.patch
@@ -0,0 +1,39 @@
+diff --git a/imdb/parser/sql/__init__.py b/imdb/parser/sql/__init__.py
+index cd4a3e3..3fcfdd4 100644
+--- a/imdb/parser/sql/__init__.py
++++ b/imdb/parser/sql/__init__.py
+@@ -557,7 +557,6 @@ class IMDbSqlAccessSystem(IMDbBase):
+ """The class used to access IMDb's data through a SQL database."""
+
+ accessSystem = 'sql'
+- _sql_logger = logging.getLogger('imdbpy.parser.sql')
+
+ def __init__(self, uri, adultSearch=True, *arguments, **keywords):
+ """Initialize the access system."""
+@@ -582,7 +581,7 @@ class IMDbSqlAccessSystem(IMDbBase):
+ except ImportError as e:
+ raise IMDbError('unable to import SQLAlchemy')
+ # Set the connection to the database.
+- self._sql_logger.debug('connecting to %s', uri)
++ logger.debug('connecting to %s', uri)
+ try:
+ self._connection = setConnection(uri, DB_TABLES)
+ except AssertionError as e:
+@@ -593,7 +592,7 @@ class IMDbSqlAccessSystem(IMDbBase):
+ # Maps some IDs to the corresponding strings.
+ self._kind = {}
+ self._kindRev = {}
+- self._sql_logger.debug('reading constants from the database')
++ logger.debug('reading constants from the database')
+ try:
+ for kt in KindType.select():
+ self._kind[kt.id] = kt.kind
+@@ -1616,7 +1615,7 @@ class IMDbSqlAccessSystem(IMDbBase):
+ return
+ if not hasattr(self, '_connection'):
+ return
+- self._sql_logger.debug('closing connection to the database')
++ logger.debug('closing connection to the database')
+ try:
+ self._connection.close()
+ except: