Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- from __future__ import print_function
- import io
- import time
- import re
- class PLAYLIST(object):
- def __init__(self):
- self.m3u_dict = dict()
- def m3u_to_m3u_dict(self, filename_m3u):
- try:
- with io.open(filename_m3u, 'r', encoding='utf-8-sig') as m3u:
- for zeile in m3u:
- if zeile[:7] == '#EXTINF' :
- if not zeile[11] == '=' and not zeile[:1] == '=':
- zeile = zeile.rstrip()
- name = zeile.replace('#EXTINF:-1,','')
- link = link = m3u.readline()
- link = link.rstrip()
- self.m3u_dict[name] = link
- except EnvironmentError:
- print ('Die Datei: >>' + filename_m3u + '<< existiert nicht!')
- pass # Ignore I/O errors.
- class ANPASSEN():
- def __init__(self):
- self.PATTERNS = [
- r'\+\d', # +2, +7
- r'\d[+x]\d', # 1+1, 2x2
- r'(?<=\b)[A-ZА-Я]{1,2}\d{1,2}\b', # A1, AB12
- r'\b[JT][ui][CJ][ei]', # JuCe TV, TiJi
- r'[A-ZА-Я][a-zа-я]+\.?', # Abzde, int.
- r'[A-Za-zА-Яа-я][A-ZА-Яa-zа-я]+\.?',# ABSDE, Int.
- r'(?<=\b)[A-ZА-Я]{1,2}(?=\b)', # A, AB, ABC
- r'\d[A-ZА-Я]\b', # 1A
- r'\d\.?\d+', # 1234, 2.0, 3.123
- r'\d',
- ]
- self.SHORT_NAMES_TO_TITLE = {
- 'geo', 'nat', 'дом', 'моя', 'кто', 'hit', 'box',
- 'pro', 'doc', 'and', 'sci', 'fi', 'top', 'еда',
- 'дон', 'мир', 'ля', 'на', 'раз', 'рен'
- }
- self.LONG_NAMES_TO_IGNORE = {
- 'JuCe', 'TiJi', 'HITV', 'НСТВ', 'СССР', 'СТРК'
- }
- def split(patterns, liste):
- if isinstance(patterns, dict):
- patterns = patterns.values()
- pattern = re.compile('|'.join(patterns))
- for line in liste():
- line = re.sub('[\[\(][^\(\)\[\]]*[\]\)]', '', line) # Klammer und deren Inhalt entfernen
- line = re.sub('(?<!(INT))(?<!(int))[_.-](?!\d)', ' ', line) # Unnötige Sonderzeichen entfernen
- line = line.rstrip()
- yield pattern.findall(line)
- def gross_klein_schreibung(parts):
- renamed_parts = []
- for part in parts:
- if len(part) <= 3:
- if part.lower() in self.SHORT_NAMES_TO_TITLE:
- renamed_parts.append(part.title())
- else:
- renamed_parts.append(part.upper())
- elif part in self.LONG_NAMES_TO_IGNORE:
- renamed_parts.append(part)
- else:
- renamed_parts.append(part.title())
- zeile = ' '.join(part for part in renamed_parts)
- print ('Das ist die zeile: ' + zeile)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement