Example #1
0
 def close_connection(self):
     try:
         self.connection.close()
         self.releaseLock()
     except Exception as e:
         fname = sys._getframe().f_code.co_name
         errorRaise(fname, e)
Example #2
0
 def get_connection(self):
     try:
         self.aquireLock()
         self.connection = sqlite3.connect(self.dbpath)
     except Exception as e:
         fname = sys._getframe().f_code.co_name
         errorRaise(fname, e)
Example #3
0
def fileSize(fqfn):
    try:
        if fileExists(fqfn):
            return os.stat(fqfn).st_size
    except Exception as e:
        fname = sys._getframe().f_code.co_name
        errorRaise(fname, e)
Example #4
0
def fileTouch(fqfn, exists=True):
    try:
        junk = open(fqfn, "w").close()
        # pth = Path.touch(fqfn, exist_ok=exists)
    except Exception as e:
        fname = sys._getframe().f_code.co_name
        errorRaise(fname, e)
Example #5
0
File: tvh.py Project: ccdale/tvh
def timeSlotPrograms(start=0, length=2):
    try:
        # now = int(time.time())
        if start == 0:
            start = int(time.time())
        xfilter = [
            {
                "field": "stop",
                "type": "numeric",
                "value": str(start),
                "comparison": "gt",
            },
            {
                "field": "start",
                "type": "numeric",
                "value": str(start + (3600 * length)),
                "comparison": "lt",
            },
        ]
        data = {"filter": xfilter}
        data = {"limit": "999"}
        j = sendToTVH("epg/events/grid", data)
        if "entries" in j:
            mindur, minprog = UT.displayProgramList(j["entries"], length)
    except Exception as e:
        fname = sys._getframe().f_code.co_name
        errorRaise(fname, e)
Example #6
0
File: nfo.py Project: ccdale/tvh
def hmsDisplay(seconds):
    ret = ""
    try:
        h, m, s = hms(seconds)
        hstr = displayWord(h, "hour")
        mstr = displayWord(m, "minute")
        sstr = displayWord(s, "second")
        ret = ""
        if len(hstr) and len(mstr) and len(sstr):
            ret = "{}, {} and {}".format(hstr, mstr, sstr)
        elif len(hstr) and len(mstr):
            ret = "{} and {}".format(hstr, mstr)
        elif len(hstr) and len(sstr):
            ret = "{}, 0 minutes and {}".format(hstr, sstr)
        elif len(hstr):
            ret = hstr
        elif len(mstr) and len(sstr):
            ret = "{} and {}".format(mstr, sstr)
        elif len(mstr):
            ret = mstr
        else:
            ret = sstr
    except Exception as e:
        fname = sys._getframe().f_code.co_name
        errorRaise(fname, e)
    finally:
        return ret
Example #7
0
def filesWaiting(db):
    try:
        sql = "select count(*) as cn from files where status=0"
        rows = db.doSql(sql)
        return int(rows[0][0])
    except Exception as e:
        fname = sys._getframe().f_code.co_name
        errorRaise(fname, e)
Example #8
0
def deleteFirstFile(db, name, xhash):
    try:
        vals = (1, name, xhash)
        sql = "delete from files where status=? and name=? and hash=?"
        db.doDeleteSql(sql, vals)
    except Exception as e:
        fname = sys._getframe().f_code.co_name
        errorRaise(fname, e)
Example #9
0
def makeFilePath(fn):
    try:
        pfn = os.path.basename(fn)
        ret = makePath(pfn)
        return ret
    except Exception as e:
        fname = sys._getframe().f_code.co_name
        errorRaise(fname, e)
Example #10
0
File: utils.py Project: ccdale/tvh
def seriesId(show):
    show["series"] = None
    try:
        m = re.match(".*([sS][0-9]{1,2}[eE][0-9]{1,3}).*", show["filename"])
        if m is not None and len(m.groups()) > 0:
            show["series"] = m.groups()[0]
    except Exception as e:
        fname = sys._getframe().f_code.co_name
        errorRaise(fname, e)
Example #11
0
def dfExists(dfn):
    try:
        ret = Path(dfn).is_file()
        if not ret:
            ret = Path(dfn).is_dir()
        return ret
    except Exception as e:
        fname = sys._getframe().f_code.co_name
        errorRaise(fname, e)
Example #12
0
File: nfo.py Project: ccdale/tvh
def timestampDisplay(ts):
    ret = ""
    try:
        ret = time.ctime(ts)
    except Exception as e:
        fname = sys._getframe().f_code.co_name
        errorRaise(fname, e)
    finally:
        return ret
Example #13
0
File: nfo.py Project: ccdale/tvh
def makeXmlAtts(attrs):
    satts = ""
    try:
        for attr in attrs:
            satts += attr + "=" + attrs[attr]
    except Exception as e:
        fname = sys._getframe().f_code.co_name
        errorRaise(fname, e)
    finally:
        return satts
Example #14
0
File: utils.py Project: ccdale/tvh
def askMe(q, default):
    try:
        ret = default
        val = input("{} ({}) > ".format(q, default))
        if len(val) > 0:
            ret = val
        return ret
    except Exception as e:
        fname = sys._getframe().f_code.co_name
        errorRaise(fname, e)
Example #15
0
File: nfo.py Project: ccdale/tvh
def hms(seconds):
    hrs = mins = secs = 0
    try:
        hrs, rem = valMod(seconds, 3600)
        mins, secs = valMod(rem, 60)
    except Exception as e:
        fname = sys._getframe().f_code.co_name
        errorRaise(fname, e)
    finally:
        return [hrs, mins, secs]
Example #16
0
File: nfo.py Project: ccdale/tvh
def valMod(value, divisor):
    val = rem = 0
    try:
        val = int(value / divisor)
        rem = value % divisor
    except Exception as e:
        fname = sys._getframe().f_code.co_name
        errorRaise(fname, e)
    finally:
        return [val, rem]
Example #17
0
File: tvh.py Project: ccdale/tvh
def channelFilter(epg, channel):
    try:
        cevents = []
        for event in epg:
            if event["channelName"] == channel:
                cevents.append(event)
        return cevents
    except Exception as e:
        fname = sys._getframe().f_code.co_name
        errorRaise(fname, e)
Example #18
0
def rename(src, dest):
    try:
        if dfExists(src):
            p = Path(src)
            p.rename(dest)
        else:
            raise FileDoesNotExist("src file does not exist: {}".format(src))
    except Exception as e:
        fname = sys._getframe().f_code.co_name
        errorRaise(fname, e)
Example #19
0
File: utils.py Project: ccdale/tvh
def delimitString(xstr, addstr, delimeter=" - "):
    ret = xstr
    try:
        if addstr is not None:
            if len(addstr) > 0:
                ret += delimeter + addstr
    except Exception as e:
        fname = sys._getframe().f_code.co_name
        errorRaise(fname, e)
    finally:
        return ret
Example #20
0
def getFirstFile(db):
    try:
        sql = "select * from files where status=0 limit 1"
        row = db.doSql(sql, one=1)
        vals = (row["name"], row["hash"])
        sql = "update files set status=1 where name=? and hash=?"
        db.doUpdateSql(sql, vals)
        return row
    except Exception as e:
        fname = sys._getframe().f_code.co_name
        errorRaise(fname, e)
Example #21
0
File: nfo.py Project: ccdale/tvh
def displayWord(value, word):
    ret = ""
    try:
        if value > 0:
            ret = "{} {}".format(value, word)
            if value > 1:
                ret += "s"
    except Exception as e:
        fname = sys._getframe().f_code.co_name
        errorRaise(fname, e)
    finally:
        return ret
Example #22
0
File: utils.py Project: ccdale/tvh
def padStr(xstr, xlen=2, pad=" ", padleft=True):
    try:
        zstr = xstr
        while len(zstr) < xlen:
            if padleft:
                zstr = pad + zstr
            else:
                zstr += pad
        return zstr
    except Exception as e:
        fname = sys._getframe().f_code.co_name
        errorRaise(fname, e)
Example #23
0
File: nfo.py Project: ccdale/tvh
def makeFilmNfo(show):
    fnfo = ""
    try:
        mtags = nfoTags(show)
        mtags["premiered"] = show["year"]
        mtags["year"] = show["year"]
        fnfo = makeNfoString(mtags, "movie")
    except Exception as e:
        fname = sys._getframe().f_code.co_name
        errorRaise(fname, e)
    finally:
        return fnfo
Example #24
0
def makePath(pn):
    try:
        if not dirExists(pn):
            p = Path(pn)
            ret = False
            p.mkdir(mode=0o755, parents=True, exist_ok=True)
            ret = True
        else:
            ret = True
        return ret
    except Exception as e:
        fname = sys._getframe().f_code.co_name
        errorRaise(fname, e)
Example #25
0
File: tvh.py Project: ccdale/tvh
def filterPrograms(channel=None, start=None, length=None):
    try:
        total, entries = getEpg()
        if channel is not None and start is not None:
            epg = channelFilter(entries, channel)
            return timeFilter(epg, start, length)
        if channel is not None:
            return channelFilter(entries, channel)
        if start is not None:
            return timeFilter(entries, start, length)
    except Exception as e:
        fname = sys._getframe().f_code.co_name
        errorRaise(fname, e)
Example #26
0
File: utils.py Project: ccdale/tvh
def showParts(show):
    try:
        show["title"] = show["disp_title"]
        if "disp_subtitle" in show:
            show["subtitle"] = show["disp_subtitle"]
            if show["subtitle"].startswith(" - "):
                show["subtitle"] = show["subtitle"][3:]
        else:
            show["subtitle"] = None
        seriesId(show)
    except Exception as e:
        fname = sys._getframe().f_code.co_name
        errorRaise(fname, e)
Example #27
0
File: nfo.py Project: ccdale/tvh
def makeNfoString(nfodict, maintag="episodedetails"):
    snfo = content = ""
    try:
        xmlargs = {"attrs": None, "oneline": True, "newline": True}
        for tag in nfodict:
            content += makeXmlTag(tag, nfodict[tag], **xmlargs)
        xmlargs["oneline"] = False
        snfo = makeXmlTag(maintag, content, **xmlargs)
    except Exception as e:
        fname = sys._getframe().f_code.co_name
        errorRaise(fname, e)
    finally:
        return snfo
Example #28
0
 def aquireLock(self):
     try:
         cn = 0
         tempfn = self.lockfn
         while FUT.fileExists(tempfn):
             time.sleep(1)
             cn += 1
             if cn > self.locktime:
                 raise DBLockError("Timeout waiting for locked DB")
             tempfn = "wibble, there is a bug, that doesn't seem to notice the file is missing, if the string is the same"
             tempfn = self.lockfn
         FUT.fileTouch(self.lockfn)
     except Exception as e:
         fname = sys._getframe().f_code.co_name
         errorRaise(fname, e)
Example #29
0
File: nfo.py Project: ccdale/tvh
def makeProgNfo(show):
    pnfo = ""
    try:
        ptags = nfoTags(show)
        if "subtitle" in show and show["subtitle"] is not None and len(
                show["subtitle"]) > 0:
            ptags["showtitle"] = show["subtitle"]
        if "series" in show and show["series"] is not None:
            ptags["series"] = show["series"]
        pnfo = makeNfoString(ptags)
    except Exception as e:
        fname = sys._getframe().f_code.co_name
        errorRaise(fname, e)
    finally:
        return pnfo
Example #30
0
File: utils.py Project: ccdale/tvh
def addBaseFn(show):
    try:
        show["opbase"] = None
        showParts(show)
        if "year" in show and show["year"] is not None:
            bfn = delimitString(show["title"], str(show["year"]), " (")
            bfn += ")"
        else:
            bfn = show["title"]
            # bfn = delimitString(bfn, show["subtitle"])
            bfn = delimitString(bfn, show["series"])
        show["opbase"] = bfn
    except Exception as e:
        fname = sys._getframe().f_code.co_name
        errorRaise(fname, e)