summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-twitwi.spec465
-rw-r--r--sources1
3 files changed, 467 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..8ce21f8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/twitwi-0.18.0.tar.gz
diff --git a/python-twitwi.spec b/python-twitwi.spec
new file mode 100644
index 0000000..37caf25
--- /dev/null
+++ b/python-twitwi.spec
@@ -0,0 +1,465 @@
+%global _empty_manifest_terminate_build 0
+Name: python-twitwi
+Version: 0.18.0
+Release: 1
+Summary: A collection of Twitter-related helper functions for python.
+License: MIT
+URL: http://github.com/medialab/twitwi
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/4f/cb/948f390c1ae3fe96017c96fc6cdc4246ef7ebb4b6cb958a4c1f7ea2e518a/twitwi-0.18.0.tar.gz
+BuildArch: noarch
+
+Requires: python3-pytz
+Requires: python3-twitter
+Requires: python3-ural
+
+%description
+[![Build Status](https://github.com/medialab/twitwi/workflows/Tests/badge.svg)](https://github.com/medialab/twitwi/actions)
+
+# Twitwi
+
+A collection of Twitter-related helper functions for python.
+
+## Installation
+
+You can install `twitwi` with pip with the following command:
+
+```
+pip install twitwi
+```
+
+## Usage
+
+*Normalization functions*
+
+* [normalize_tweets_payload_v2](#normalize_tweets_payload_v2)
+
+*Formatting functions*
+
+* [transform_tweet_into_csv_dict](#transform_tweet_into_csv_dict)
+* [transform_user_into_csv_dict](#transform_user_into_csv_dict)
+* [format_tweet_as_csv_row](#format_tweet_as_csv_row)
+
+*Useful constants (under twitwi.constants)*
+
+* [TWEET_FIELDS](#tweet_fields)
+* [USER_FIELDS](#user_fields)
+
+### normalize_tweets_payload_v2
+
+Function taking an entire tweets payload from the v2 API and returning a list of the contained tweets normalized and structured in a way that makes further analysis of the data convenient.
+
+```python
+from twitwi import normalize_tweets_payload_v2
+
+# Normalizing an entire tweets payload to extract a list of tweets
+normalize_tweets_payload_v2(payload)
+
+# Normalizing an entire tweets payload to extract a list of tweets
+# as well as the referenced tweets (quoted, retweeted, etc.)
+normalize_tweets_payload_v2(payload, extract_referenced_tweets=True)
+
+# Converting found dates to a chosen timezone
+from pytz import timezone
+paris_tz = timezone('Europe/Paris')
+
+normalize_tweets_payload_v2(payload, locale=paris_tz)
+```
+
+*Arguments*
+
+* **payload** *(dict)*: tweets payload coming from Twitter API v2.
+* **locale** *(pytz.timezone, optional)*: timezone used to convert dates. If not given, will default to UTC.
+* **extract_referenced_tweets** *(bool, optional)*: whether to keep referenced tweets (retweeted, quoted etc.) in the output. Defaults to `False`.
+* **collection_source** *(string, optional): An optional information to add to the tweets to indicate whence you collected them.
+
+### transform_tweet_into_csv_dict
+
+Function transforming (i.e. mutating, so beware) a given normalized tweet into a suitable dict able to be written by a `csv.DictWriter` as a row.
+
+```python
+from twitwi import transform_tweet_into_csv_dict
+
+# The function returns nothing, `normalized_tweet` has been mutated
+transform_tweet_into_csv_dict(normalized_tweet)
+```
+
+### transform_user_into_csv_dict
+
+Function transforming (i.e. mutating, so beware) a given normalized Twitter user into a suitable dict able to be written by a `csv.DictWriter` as a row.
+
+```python
+from twitwi import transform_user_into_csv_dict
+
+# The function returns nothing, `normalized_user` has been mutated
+transform_user_into_csv_dict(normalized_user)
+```
+
+### format_tweet_as_csv_row
+
+Function formatting the given normalized tweet as a list able to be written by a `csv.writer` as a row.
+
+```python
+from twitwi import format_tweet_as_csv_row
+
+row = format_tweet_as_csv_row(normalized_tweet)
+```
+
+### format_user_as_csv_row
+
+Function formatting the given normalized Twitter user as a list able to be written by a `csv.writer` as a row.
+
+```python
+from twitwi import format_user_as_csv_row
+
+row = format_user_as_csv_row(normalized_user)
+```
+
+### TWEET_FIELDS
+
+List of tweet field names. Useful to declare headers with csv writers:
+
+```python
+from twitwi.constants import TWEET_FIELDS
+
+# Using csv.writer
+w = csv.writer(f)
+w.writerow(TWEET_FIELDS)
+
+# Using csv.DictWriter
+w = csv.DictWriter(f, fieldnames=TWEET_FIELDS)
+w.writeheader()
+```
+
+### USER_FIELDS
+
+```python
+from twitwi.constants import USER_FIELDS
+
+# Using csv.writer
+w = csv.writer(f)
+w.writerow(USER_FIELDS)
+
+# Using csv.DictWriter
+w = csv.DictWriter(f, fieldnames=USER_FIELDS)
+w.writeheader()
+```
+
+
+%package -n python3-twitwi
+Summary: A collection of Twitter-related helper functions for python.
+Provides: python-twitwi
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-twitwi
+[![Build Status](https://github.com/medialab/twitwi/workflows/Tests/badge.svg)](https://github.com/medialab/twitwi/actions)
+
+# Twitwi
+
+A collection of Twitter-related helper functions for python.
+
+## Installation
+
+You can install `twitwi` with pip with the following command:
+
+```
+pip install twitwi
+```
+
+## Usage
+
+*Normalization functions*
+
+* [normalize_tweets_payload_v2](#normalize_tweets_payload_v2)
+
+*Formatting functions*
+
+* [transform_tweet_into_csv_dict](#transform_tweet_into_csv_dict)
+* [transform_user_into_csv_dict](#transform_user_into_csv_dict)
+* [format_tweet_as_csv_row](#format_tweet_as_csv_row)
+
+*Useful constants (under twitwi.constants)*
+
+* [TWEET_FIELDS](#tweet_fields)
+* [USER_FIELDS](#user_fields)
+
+### normalize_tweets_payload_v2
+
+Function taking an entire tweets payload from the v2 API and returning a list of the contained tweets normalized and structured in a way that makes further analysis of the data convenient.
+
+```python
+from twitwi import normalize_tweets_payload_v2
+
+# Normalizing an entire tweets payload to extract a list of tweets
+normalize_tweets_payload_v2(payload)
+
+# Normalizing an entire tweets payload to extract a list of tweets
+# as well as the referenced tweets (quoted, retweeted, etc.)
+normalize_tweets_payload_v2(payload, extract_referenced_tweets=True)
+
+# Converting found dates to a chosen timezone
+from pytz import timezone
+paris_tz = timezone('Europe/Paris')
+
+normalize_tweets_payload_v2(payload, locale=paris_tz)
+```
+
+*Arguments*
+
+* **payload** *(dict)*: tweets payload coming from Twitter API v2.
+* **locale** *(pytz.timezone, optional)*: timezone used to convert dates. If not given, will default to UTC.
+* **extract_referenced_tweets** *(bool, optional)*: whether to keep referenced tweets (retweeted, quoted etc.) in the output. Defaults to `False`.
+* **collection_source** *(string, optional): An optional information to add to the tweets to indicate whence you collected them.
+
+### transform_tweet_into_csv_dict
+
+Function transforming (i.e. mutating, so beware) a given normalized tweet into a suitable dict able to be written by a `csv.DictWriter` as a row.
+
+```python
+from twitwi import transform_tweet_into_csv_dict
+
+# The function returns nothing, `normalized_tweet` has been mutated
+transform_tweet_into_csv_dict(normalized_tweet)
+```
+
+### transform_user_into_csv_dict
+
+Function transforming (i.e. mutating, so beware) a given normalized Twitter user into a suitable dict able to be written by a `csv.DictWriter` as a row.
+
+```python
+from twitwi import transform_user_into_csv_dict
+
+# The function returns nothing, `normalized_user` has been mutated
+transform_user_into_csv_dict(normalized_user)
+```
+
+### format_tweet_as_csv_row
+
+Function formatting the given normalized tweet as a list able to be written by a `csv.writer` as a row.
+
+```python
+from twitwi import format_tweet_as_csv_row
+
+row = format_tweet_as_csv_row(normalized_tweet)
+```
+
+### format_user_as_csv_row
+
+Function formatting the given normalized Twitter user as a list able to be written by a `csv.writer` as a row.
+
+```python
+from twitwi import format_user_as_csv_row
+
+row = format_user_as_csv_row(normalized_user)
+```
+
+### TWEET_FIELDS
+
+List of tweet field names. Useful to declare headers with csv writers:
+
+```python
+from twitwi.constants import TWEET_FIELDS
+
+# Using csv.writer
+w = csv.writer(f)
+w.writerow(TWEET_FIELDS)
+
+# Using csv.DictWriter
+w = csv.DictWriter(f, fieldnames=TWEET_FIELDS)
+w.writeheader()
+```
+
+### USER_FIELDS
+
+```python
+from twitwi.constants import USER_FIELDS
+
+# Using csv.writer
+w = csv.writer(f)
+w.writerow(USER_FIELDS)
+
+# Using csv.DictWriter
+w = csv.DictWriter(f, fieldnames=USER_FIELDS)
+w.writeheader()
+```
+
+
+%package help
+Summary: Development documents and examples for twitwi
+Provides: python3-twitwi-doc
+%description help
+[![Build Status](https://github.com/medialab/twitwi/workflows/Tests/badge.svg)](https://github.com/medialab/twitwi/actions)
+
+# Twitwi
+
+A collection of Twitter-related helper functions for python.
+
+## Installation
+
+You can install `twitwi` with pip with the following command:
+
+```
+pip install twitwi
+```
+
+## Usage
+
+*Normalization functions*
+
+* [normalize_tweets_payload_v2](#normalize_tweets_payload_v2)
+
+*Formatting functions*
+
+* [transform_tweet_into_csv_dict](#transform_tweet_into_csv_dict)
+* [transform_user_into_csv_dict](#transform_user_into_csv_dict)
+* [format_tweet_as_csv_row](#format_tweet_as_csv_row)
+
+*Useful constants (under twitwi.constants)*
+
+* [TWEET_FIELDS](#tweet_fields)
+* [USER_FIELDS](#user_fields)
+
+### normalize_tweets_payload_v2
+
+Function taking an entire tweets payload from the v2 API and returning a list of the contained tweets normalized and structured in a way that makes further analysis of the data convenient.
+
+```python
+from twitwi import normalize_tweets_payload_v2
+
+# Normalizing an entire tweets payload to extract a list of tweets
+normalize_tweets_payload_v2(payload)
+
+# Normalizing an entire tweets payload to extract a list of tweets
+# as well as the referenced tweets (quoted, retweeted, etc.)
+normalize_tweets_payload_v2(payload, extract_referenced_tweets=True)
+
+# Converting found dates to a chosen timezone
+from pytz import timezone
+paris_tz = timezone('Europe/Paris')
+
+normalize_tweets_payload_v2(payload, locale=paris_tz)
+```
+
+*Arguments*
+
+* **payload** *(dict)*: tweets payload coming from Twitter API v2.
+* **locale** *(pytz.timezone, optional)*: timezone used to convert dates. If not given, will default to UTC.
+* **extract_referenced_tweets** *(bool, optional)*: whether to keep referenced tweets (retweeted, quoted etc.) in the output. Defaults to `False`.
+* **collection_source** *(string, optional): An optional information to add to the tweets to indicate whence you collected them.
+
+### transform_tweet_into_csv_dict
+
+Function transforming (i.e. mutating, so beware) a given normalized tweet into a suitable dict able to be written by a `csv.DictWriter` as a row.
+
+```python
+from twitwi import transform_tweet_into_csv_dict
+
+# The function returns nothing, `normalized_tweet` has been mutated
+transform_tweet_into_csv_dict(normalized_tweet)
+```
+
+### transform_user_into_csv_dict
+
+Function transforming (i.e. mutating, so beware) a given normalized Twitter user into a suitable dict able to be written by a `csv.DictWriter` as a row.
+
+```python
+from twitwi import transform_user_into_csv_dict
+
+# The function returns nothing, `normalized_user` has been mutated
+transform_user_into_csv_dict(normalized_user)
+```
+
+### format_tweet_as_csv_row
+
+Function formatting the given normalized tweet as a list able to be written by a `csv.writer` as a row.
+
+```python
+from twitwi import format_tweet_as_csv_row
+
+row = format_tweet_as_csv_row(normalized_tweet)
+```
+
+### format_user_as_csv_row
+
+Function formatting the given normalized Twitter user as a list able to be written by a `csv.writer` as a row.
+
+```python
+from twitwi import format_user_as_csv_row
+
+row = format_user_as_csv_row(normalized_user)
+```
+
+### TWEET_FIELDS
+
+List of tweet field names. Useful to declare headers with csv writers:
+
+```python
+from twitwi.constants import TWEET_FIELDS
+
+# Using csv.writer
+w = csv.writer(f)
+w.writerow(TWEET_FIELDS)
+
+# Using csv.DictWriter
+w = csv.DictWriter(f, fieldnames=TWEET_FIELDS)
+w.writeheader()
+```
+
+### USER_FIELDS
+
+```python
+from twitwi.constants import USER_FIELDS
+
+# Using csv.writer
+w = csv.writer(f)
+w.writerow(USER_FIELDS)
+
+# Using csv.DictWriter
+w = csv.DictWriter(f, fieldnames=USER_FIELDS)
+w.writeheader()
+```
+
+
+%prep
+%autosetup -n twitwi-0.18.0
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-twitwi -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.18.0-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..af0b7a9
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+f57d256f2959111be33b3de8092834f6 twitwi-0.18.0.tar.gz