summaryrefslogtreecommitdiff
path: root/python-tpimporter.spec
diff options
context:
space:
mode:
Diffstat (limited to 'python-tpimporter.spec')
-rw-r--r--python-tpimporter.spec377
1 files changed, 377 insertions, 0 deletions
diff --git a/python-tpimporter.spec b/python-tpimporter.spec
new file mode 100644
index 0000000..37ca498
--- /dev/null
+++ b/python-tpimporter.spec
@@ -0,0 +1,377 @@
+%global _empty_manifest_terminate_build 0
+Name: python-tpimporter
+Version: 0.7.5
+Release: 1
+Summary: a package to import excel files - specifically our Titelplanung and TV Titelplanung
+License: MIT License
+URL: https://github.com/skalizzo/TP_Importer
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/f3/0d/2c4299910afef2e76af2d2d7c4eb7e6087373e48826f08baaaa5ae5254f4/tpimporter-0.7.5.tar.gz
+BuildArch: noarch
+
+Requires: python3-openpyxl
+Requires: python3-msoffcrypto-tool
+
+%description
+# TP Importer
+
+This package is used for importing our main Titelplanung Excel files;
+<br>
+as this data is used in different systems this package provides adapters to use the imported data within different products
+<br>
+## Usage
+Usage Example (Transaktional - Feature):
+```
+def import_tp_data_for_mam():
+ """
+ importiert TP-Daten mit den fürs MAM genutzten Keys
+ """
+ tp_path = "G:\Listen\TPDD aktuell absolutiert.xlsm"
+ tp_data = TP_Importer().get_tp_data_from_file(tp_path)
+ tp_data_mam = Adapter_For_MAM().transform(tp_data)
+ for title in tp_data_mam:
+ # do something with title
+
+
+if __name__ == '__main__':
+ tp_data_mam = import_tp_data_for_mam()
+```
+
+Usage Example for TVTP Transaktional:
+
+```
+def _get_data(self) -> dict:
+ """
+ diese Methode liest die Daten aus der TV Titelplanung ein
+ :return: Dict (one entry per series with the series-Basis-VendorID as key) - die Daten zu den Staffeln
+ kann man als Liste von Dicts unter dem Key "seasons" aufrufen
+ (auch wieder als Dict mit Key = Season-Basis-VID),
+ die zu den Episoden sind im Staffel-Dict als Liste von Dicts unter dem Key "episodes" zu finden
+ (auch wieder als Dict mit Key = Episode-Basis-VID)
+ """
+ filepath = "G:\Listen\TV Titelplanung DD_absolutiert_v2.xlsm"
+ tp_data = TVTP_Importer(
+ valid_statuses=(
+ "ok",
+ "change",
+ "new",
+ "alt/keine Rechte",
+ "canceled",
+ "INDIZIERT",
+ "no avail",
+ "Rights expired",
+ "ausgelaufen",
+ )
+ ).get_tp_data_from_file(filepath)
+ return tp_data
+
+
+tp_data = self._get_date()
+for vendor_id, series in tqdm(tp_data.items()):
+ # do something for series
+ for vendor_id_season, season in series.get('seasons').items():
+ # do something for seasons
+ for vendor_id_episode, episode in season.get('episodes').items():
+ # do something for episodes
+```
+
+Usage Example for Channels (Feature):
+```
+channel_tp_data_feature = dict()
+importer = TP_Importer_Channels(
+ valid_statuses=(("ok", "change", "new"))
+ )
+path = 'G:\Listen\Titelplanung Channels aktuell_absolutiert_new.xlsm'
+tp_data = importer.get_tp_data_from_file(path)
+print(tp_data.keys())
+
+
+for channel_type, channel_titles in tp_data.items():
+ # durch alle Channels iterieren
+ for title in tqdm(channel_titles):
+ # durch Titel in jeweiligem Channel iterieren
+```
+
+Usage Example for Channels (TV):
+```
+channel_tp_data_feature = dict()
+importer = TVTP_Importer_Channels(
+ valid_statuses=(("ok", "change", "new"))
+ )
+path = 'G:\Listen\Titelplanung Channels aktuell_absolutiert_new.xlsm'
+tp_data = importer.get_tp_data_from_file(path)
+print(tp_data.keys())
+
+
+
+for channel_type, channel_titles in tp_data.items():
+ # durch alle Channels iterieren
+ for vendor_id, series in tqdm(channel_titles.items()):
+ # do something for series
+ for vendor_id_season, season in series.get('seasons').items():
+ # do something for seasons
+ for vendor_id_episode, episode in season.get('episodes').items():
+ # do something for episodes
+```
+
+
+
+%package -n python3-tpimporter
+Summary: a package to import excel files - specifically our Titelplanung and TV Titelplanung
+Provides: python-tpimporter
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-tpimporter
+# TP Importer
+
+This package is used for importing our main Titelplanung Excel files;
+<br>
+as this data is used in different systems this package provides adapters to use the imported data within different products
+<br>
+## Usage
+Usage Example (Transaktional - Feature):
+```
+def import_tp_data_for_mam():
+ """
+ importiert TP-Daten mit den fürs MAM genutzten Keys
+ """
+ tp_path = "G:\Listen\TPDD aktuell absolutiert.xlsm"
+ tp_data = TP_Importer().get_tp_data_from_file(tp_path)
+ tp_data_mam = Adapter_For_MAM().transform(tp_data)
+ for title in tp_data_mam:
+ # do something with title
+
+
+if __name__ == '__main__':
+ tp_data_mam = import_tp_data_for_mam()
+```
+
+Usage Example for TVTP Transaktional:
+
+```
+def _get_data(self) -> dict:
+ """
+ diese Methode liest die Daten aus der TV Titelplanung ein
+ :return: Dict (one entry per series with the series-Basis-VendorID as key) - die Daten zu den Staffeln
+ kann man als Liste von Dicts unter dem Key "seasons" aufrufen
+ (auch wieder als Dict mit Key = Season-Basis-VID),
+ die zu den Episoden sind im Staffel-Dict als Liste von Dicts unter dem Key "episodes" zu finden
+ (auch wieder als Dict mit Key = Episode-Basis-VID)
+ """
+ filepath = "G:\Listen\TV Titelplanung DD_absolutiert_v2.xlsm"
+ tp_data = TVTP_Importer(
+ valid_statuses=(
+ "ok",
+ "change",
+ "new",
+ "alt/keine Rechte",
+ "canceled",
+ "INDIZIERT",
+ "no avail",
+ "Rights expired",
+ "ausgelaufen",
+ )
+ ).get_tp_data_from_file(filepath)
+ return tp_data
+
+
+tp_data = self._get_date()
+for vendor_id, series in tqdm(tp_data.items()):
+ # do something for series
+ for vendor_id_season, season in series.get('seasons').items():
+ # do something for seasons
+ for vendor_id_episode, episode in season.get('episodes').items():
+ # do something for episodes
+```
+
+Usage Example for Channels (Feature):
+```
+channel_tp_data_feature = dict()
+importer = TP_Importer_Channels(
+ valid_statuses=(("ok", "change", "new"))
+ )
+path = 'G:\Listen\Titelplanung Channels aktuell_absolutiert_new.xlsm'
+tp_data = importer.get_tp_data_from_file(path)
+print(tp_data.keys())
+
+
+for channel_type, channel_titles in tp_data.items():
+ # durch alle Channels iterieren
+ for title in tqdm(channel_titles):
+ # durch Titel in jeweiligem Channel iterieren
+```
+
+Usage Example for Channels (TV):
+```
+channel_tp_data_feature = dict()
+importer = TVTP_Importer_Channels(
+ valid_statuses=(("ok", "change", "new"))
+ )
+path = 'G:\Listen\Titelplanung Channels aktuell_absolutiert_new.xlsm'
+tp_data = importer.get_tp_data_from_file(path)
+print(tp_data.keys())
+
+
+
+for channel_type, channel_titles in tp_data.items():
+ # durch alle Channels iterieren
+ for vendor_id, series in tqdm(channel_titles.items()):
+ # do something for series
+ for vendor_id_season, season in series.get('seasons').items():
+ # do something for seasons
+ for vendor_id_episode, episode in season.get('episodes').items():
+ # do something for episodes
+```
+
+
+
+%package help
+Summary: Development documents and examples for tpimporter
+Provides: python3-tpimporter-doc
+%description help
+# TP Importer
+
+This package is used for importing our main Titelplanung Excel files;
+<br>
+as this data is used in different systems this package provides adapters to use the imported data within different products
+<br>
+## Usage
+Usage Example (Transaktional - Feature):
+```
+def import_tp_data_for_mam():
+ """
+ importiert TP-Daten mit den fürs MAM genutzten Keys
+ """
+ tp_path = "G:\Listen\TPDD aktuell absolutiert.xlsm"
+ tp_data = TP_Importer().get_tp_data_from_file(tp_path)
+ tp_data_mam = Adapter_For_MAM().transform(tp_data)
+ for title in tp_data_mam:
+ # do something with title
+
+
+if __name__ == '__main__':
+ tp_data_mam = import_tp_data_for_mam()
+```
+
+Usage Example for TVTP Transaktional:
+
+```
+def _get_data(self) -> dict:
+ """
+ diese Methode liest die Daten aus der TV Titelplanung ein
+ :return: Dict (one entry per series with the series-Basis-VendorID as key) - die Daten zu den Staffeln
+ kann man als Liste von Dicts unter dem Key "seasons" aufrufen
+ (auch wieder als Dict mit Key = Season-Basis-VID),
+ die zu den Episoden sind im Staffel-Dict als Liste von Dicts unter dem Key "episodes" zu finden
+ (auch wieder als Dict mit Key = Episode-Basis-VID)
+ """
+ filepath = "G:\Listen\TV Titelplanung DD_absolutiert_v2.xlsm"
+ tp_data = TVTP_Importer(
+ valid_statuses=(
+ "ok",
+ "change",
+ "new",
+ "alt/keine Rechte",
+ "canceled",
+ "INDIZIERT",
+ "no avail",
+ "Rights expired",
+ "ausgelaufen",
+ )
+ ).get_tp_data_from_file(filepath)
+ return tp_data
+
+
+tp_data = self._get_date()
+for vendor_id, series in tqdm(tp_data.items()):
+ # do something for series
+ for vendor_id_season, season in series.get('seasons').items():
+ # do something for seasons
+ for vendor_id_episode, episode in season.get('episodes').items():
+ # do something for episodes
+```
+
+Usage Example for Channels (Feature):
+```
+channel_tp_data_feature = dict()
+importer = TP_Importer_Channels(
+ valid_statuses=(("ok", "change", "new"))
+ )
+path = 'G:\Listen\Titelplanung Channels aktuell_absolutiert_new.xlsm'
+tp_data = importer.get_tp_data_from_file(path)
+print(tp_data.keys())
+
+
+for channel_type, channel_titles in tp_data.items():
+ # durch alle Channels iterieren
+ for title in tqdm(channel_titles):
+ # durch Titel in jeweiligem Channel iterieren
+```
+
+Usage Example for Channels (TV):
+```
+channel_tp_data_feature = dict()
+importer = TVTP_Importer_Channels(
+ valid_statuses=(("ok", "change", "new"))
+ )
+path = 'G:\Listen\Titelplanung Channels aktuell_absolutiert_new.xlsm'
+tp_data = importer.get_tp_data_from_file(path)
+print(tp_data.keys())
+
+
+
+for channel_type, channel_titles in tp_data.items():
+ # durch alle Channels iterieren
+ for vendor_id, series in tqdm(channel_titles.items()):
+ # do something for series
+ for vendor_id_season, season in series.get('seasons').items():
+ # do something for seasons
+ for vendor_id_episode, episode in season.get('episodes').items():
+ # do something for episodes
+```
+
+
+
+%prep
+%autosetup -n tpimporter-0.7.5
+
+%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-tpimporter -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Thu May 18 2023 Python_Bot <Python_Bot@openeuler.org> - 0.7.5-1
+- Package Spec generated