Репозитории ALT
5.1: | 0.5.0-alt6 |
4.1: | 0.5.0-alt5.qa1 |
4.0: | 0.5.0-alt3 |
3.0: | 0.4.11-alt0.1 |
Группа :: Работа с текстами
Пакет: pybookreader
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Патч: pybookreader-0.4.11.patch
Скачать
Скачать
--- /home/lav/RPM/BUILD/PyBookReader-0.4.11/pybookreader/bookmarks.py 2005-02-23 01:47:30 +0300
+++ pybookreader/bookmarks.py 2005-07-12 11:03:47 +0400
@@ -5,7 +5,7 @@
import os
import shelve
-from miscutils import *
+from miscutilsp import *
from config import program_version, default_encoding
##----------------------------------------------------------------------
--- /home/lav/RPM/BUILD/PyBookReader-0.4.11/pybookreader/parsers.py 2005-03-07 20:16:27 +0300
+++ pybookreader/parsers.py 2005-07-12 11:03:22 +0400
@@ -14,7 +14,7 @@
import zipfile
import tempfile
-import miscutils, bookmarks, config, detectcharset, filters
+import miscutilsp, bookmarks, config, detectcharset, filters
## from bookmarks import Book
## from miscutils import zip_get_filename
## from config import default_description_length, default_encoding, preview_length
--- /home/lav/RPM/BUILD/PyBookReader-0.4.11/pybookreader/miscutilsp.py 1970-01-01 03:00:00 +0300
+++ pybookreader/miscutilsp.py 2005-07-12 11:02:54 +0400
@@ -0,0 +1,104 @@
+#!/usr/bin/env python
+# -*- mode: python; coding: koi8-r -*-
+
+
+import string, os, sys, exceptions, codecs, gzip, zipfile, locale
+from cStringIO import StringIO
+
+from config import default_encoding
+
+
+##----------------------------------------------------------------------
+
+def zip_get_filename(filename): #=None, fileobj=None):
+
+ #if filename:
+ fileobj = open(filename)
+
+ file = zipfile.ZipFile(fileobj)
+ for name in file.namelist():
+ if name.lower() not in ['file_id.diz', 'comment.txt']:
+ return name
+
+ return None
+
+##----------------------------------------------------------------------
+
+def get_glade_file():
+
+ gf = 'pybookreader/pybookreader.glade'
+ for d in sys.path:
+ f = os.path.join(d, gf)
+ if os.path.exists(f):
+ return f
+ return None
+
+##----------------------------------------------------------------------
+
+def string_encode(data, from_enc, to_enc='utf-8'):
+
+ if from_enc == to_enc: return data
+
+ inenc, indec, sr, sw = codecs.lookup(from_enc)
+ outenc, outdec, sr, sw = codecs.lookup(to_enc)
+ return outenc(indec(data, 'replace')[0], 'replace')[0]
+
+##----------------------------------------------------------------------
+
+def fix_description(data, len_desc):
+
+ desc = ''
+ udata = data.decode('utf-8', 'replace')
+
+ #if len(udata) <= len_desc: return data
+
+## i = udata.find(' ', len_desc)
+## if i >= 0: return udata[:i].encode('utf-8', 'replace')
+## else: return udata.encode('utf-8', 'replace')
+
+ udata_split = udata.split()
+ if udata_split: desc = udata_split[0]
+
+ for w in udata_split[1:]:
+ desc += ' ' + w
+ if len(desc) > len_desc:
+ desc = desc + '...'
+ break
+ return desc.encode('utf-8', 'replace')
+
+
+
+## desc = ''
+## #data = data.decode('utf-8', 'replace')
+## for i in data:
+## if string.find(string.whitespace, i) >= 0 or i == "'":
+## if len(desc) != 0 and desc[len(desc)-1] != ' ':
+## desc = desc + ' '
+## else:
+## desc = desc + i
+
+## if len(desc) > len_desc and desc[len(desc)-1] == ' ': break
+
+## desc = desc + '...' # ???
+
+## #return desc.encode('utf-8', 'replace')
+## return desc
+
+##----------------------------------------------------------------------
+
+def fix_filename(filename):
+ # from locale encoding to utf-8
+ # TODO: G_BROKEN_FILENAMES
+ enc = default_encoding
+ fn = filename.decode(enc).encode('utf-8')
+ return fn
+
+##----------------------------------------------------------------------
+
+def fix_filename_2(filename):
+ # from utf-8 encoding to locale encoding
+ # TODO: G_BROKEN_FILENAMES
+ enc = default_encoding
+ fn = filename.decode('utf-8').encode(enc)
+ return fn
+