IMDb: fix runtime parsing
[enigma2-plugins.git] / fritzcall / src / __init__.py
1 # -*- coding: utf-8 -*-
2 '''
3 general functions for FritzCall plugin
4
5 $Id: __init__.py 1589 2021-04-25 09:48:00Z michael $
6 $Author: michael $
7 $Revision: 1589 $
8 $Date: 2021-04-25 11:48:00 +0200 (Sun, 25 Apr 2021) $
9 '''
10
11 from __future__ import division
12 import gettext, os
13 from logging import NOTSET
14 from six.moves import range
15
16 from Components.config import config #@UnresolvedImport
17 from Components.Language import language
18 from Tools.Directories import resolveFilename, SCOPE_LANGUAGE, SCOPE_PLUGINS, SCOPE_SKIN_IMAGE #@UnresolvedImport
19 from enigma import eBackgroundFileEraser
20
21 lang = language.getLanguage()
22 os.environ["LANGUAGE"] = lang[:2]
23 gettext.bindtextdomain("enigma2", resolveFilename(SCOPE_LANGUAGE))
24 gettext.textdomain("enigma2")
25 gettext.bindtextdomain("FritzCall", "%s%s" % (resolveFilename(SCOPE_PLUGINS), "Extensions/FritzCall/locale/"))
26
27 import logging
28 logger = logging.getLogger("FritzCall.__init__")
29 debug = logger.debug
30 info = logger.info
31 warning = logger.warning
32 error = logger.error
33 exception = logger.exception
34
35 def _(txt): # pylint: disable=C0103
36         td = gettext.dgettext("FritzCall", txt)
37         if td == txt:
38                 td = gettext.gettext(txt)
39         return td
40
41 # scramble text
42 def __(text, front=True):  #pylint: disable=unused-argument
43         #===========================================================================
44         # if len(text) > 5:
45         #       if front:
46         #               return '.....' + text[5:]
47         #       else:
48         #               return text[:-5] + '.....'
49         # else:
50         #       return '.....' 
51         #===========================================================================
52         # debug("__ 1")
53         out =""
54         # debug("__ 2")
55         for i in range(len(text)//2):
56                 # debug("__ 3")
57                 out = out + text[i*2] + '.'
58                 # debug("__ 4: %s", out)
59         # debug("__ 5")
60         return out
61
62 import re
63 def normalizePhoneNumber(intNo):
64         
65         found = re.match(r'^\+' + config.plugins.FritzCall.country.value.replace('00','') + '(.*)', intNo)
66         if found:
67                 intNo = '0' + found.group(1)
68         found = re.match(r'^\+(.*)', intNo)
69         if found:
70                 intNo = '00' + found.group(1)
71         intNo = intNo.replace('(', '').replace(')', '').replace(' ', '').replace('/', '').replace('-', '')
72         found = re.match(r'^49(.*)', intNo) # this is most probably an error
73         if found:
74                 intNo = '0' + found.group(1)
75         found = re.match('.*?([0-9]+)', intNo)
76         if found:
77                 return found.group(1)
78         else:
79                 return '0'