From 62184ee3c14ff6d642bd1a65029f05bc7fc79f21 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Thu, 18 May 2023 05:45:13 +0000 Subject: automatic import of python-tpimporter --- python-tpimporter.spec | 377 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 377 insertions(+) create mode 100644 python-tpimporter.spec (limited to 'python-tpimporter.spec') 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; +
+as this data is used in different systems this package provides adapters to use the imported data within different products +
+## 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; +
+as this data is used in different systems this package provides adapters to use the imported data within different products +
+## 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; +
+as this data is used in different systems this package provides adapters to use the imported data within different products +
+## 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 - 0.7.5-1 +- Package Spec generated -- cgit v1.2.3