about summary refs log tree commit diff
diff options
context:
space:
mode:
authorBonfaceKilz2020-11-10 01:04:37 +0300
committerBonfaceKilz2020-11-10 02:01:08 +0300
commit2efe8a26f0a6a852dff073a8cf2694a9bbffbb89 (patch)
tree7f16c10eb643eddcc4876bb7003c5b1251ddcf34
parent9cb0d9e3c5662198d5a0f9656c43ec4fefb9b5bc (diff)
downloadguix-bioinformatics-2efe8a26f0a6a852dff073a8cf2694a9bbffbb89.tar.gz
gn: python-twint: Patch twint to fix some bugs
* gn/packages/twint.scm (python-twint):
[patches]: Add 2 new patches.
[arguments]: Rename 'cast-variables-properly to 'twint-hot-fixes.
* python-twint-mentions.patch: New file.
* python-twint-userlist.patch: New file.

See: https://github.com/twintproject/twint/issues/1012
-rw-r--r--gn/packages/twint.scm6
-rw-r--r--python-twint-mentions.patch16
-rw-r--r--python-twint-userlist.patch19
3 files changed, 39 insertions, 2 deletions
diff --git a/gn/packages/twint.scm b/gn/packages/twint.scm
index fc09b86..ae79eac 100644
--- a/gn/packages/twint.scm
+++ b/gn/packages/twint.scm
@@ -197,7 +197,9 @@
              (commit "a45a8ac719d5710e7da92f77d9801b351e505c1f")))
        (sha256
         (base32
-         "1bixwrwh1v7vpv0y6skgkml8zm82w00qwkvd6q79pkdj3hczha75"))))
+         "1bixwrwh1v7vpv0y6skgkml8zm82w00qwkvd6q79pkdj3hczha75"))
+       (patches (search-patches "python-twint-userlist.patch"
+                                "python-twint-mentions.patch"))))
     (build-system python-build-system)
     (arguments
      `(#:tests? #f
@@ -207,7 +209,7 @@
            (lambda _
              (substitute* "setup.py"
                (("'dataclasses',") ""))))
-         (add-after 'remove-deps 'cast-variables-properly
+         (add-after 'unpack 'twint-hot-fixes
            (lambda _
              ;; TODO: Upstream this fix
              (begin
diff --git a/python-twint-mentions.patch b/python-twint-mentions.patch
new file mode 100644
index 0000000..f792786
--- /dev/null
+++ b/python-twint-mentions.patch
@@ -0,0 +1,16 @@
+diff --git a/twint/format.py b/twint/format.py
+index 334b43a..3eeb8c2 100644
+--- a/twint/format.py
++++ b/twint/format.py
+@@ -29,7 +29,10 @@ def Tweet(config, t):
+         output = output.replace("{quote_url}", t.quote_url)
+         output = output.replace("{near}", t.near)
+         output = output.replace("{geo}", t.geo)
+-        output = output.replace("{mentions}", ",".join(t.mentions))
++        output = output.replace("{mentions}",
++                                ",".join(map(lambda x: x.get("screen_name",
++                                                             None),
++                                            t.mentions)))
+         output = output.replace("{translate}", t.translate)
+         output = output.replace("{trans_src}", t.trans_src)
+         output = output.replace("{trans_dest}", t.trans_dest)
diff --git a/python-twint-userlist.patch b/python-twint-userlist.patch
new file mode 100644
index 0000000..1d5b860
--- /dev/null
+++ b/python-twint-userlist.patch
@@ -0,0 +1,19 @@
+diff --git a/twint/cli.py b/twint/cli.py
+index f463d68..68244c9 100644
+--- a/twint/cli.py
++++ b/twint/cli.py
+@@ -69,10 +69,10 @@ def loadUserList(ul, _type):
+     else:
+         userlist = ul.split(",")
+     if _type == "search":
+-        un = ""
+-        for user in userlist:
+-            un += "%20OR%20from%3A" + user
+-        return un[15:]
++        un = userlist[0]
++        for user in userlist[1:]:
++            un += " OR from:" + user
++        return un
+     return userlist
+ 
+