spv-dev team mailing list archive
-
spv-dev team
-
Mailing list archive
-
Message #00062
[Branch ~spv-dev/slidepresenterview/pypoppler-qt4] Rev 13: Unix EOL + test-poppler use the PDF passed in argv
------------------------------------------------------------
revno: 13
committer: F.-A. Bourbonnais <bouf10pub@xxxxxxxxxxx>
branch nick: pypoppler-qt4
timestamp: Sat 2011-01-08 12:28:49 -0500
message:
Unix EOL + test-poppler use the PDF passed in argv
modified:
configure.py
test-poppler.py
--
lp:~spv-dev/slidepresenterview/pypoppler-qt4
https://code.launchpad.net/~spv-dev/slidepresenterview/pypoppler-qt4
Your team SlidePresenterView Development Team is subscribed to branch lp:~spv-dev/slidepresenterview/pypoppler-qt4.
To unsubscribe from this branch go to https://code.launchpad.net/~spv-dev/slidepresenterview/pypoppler-qt4/+edit-subscription
=== modified file 'configure.py'
--- configure.py 2009-12-26 06:15:27 +0000
+++ configure.py 2011-01-08 17:28:49 +0000
@@ -1,232 +1,232 @@
-import os, sys
-import commands
-import optparse
-import shutil
-
-INSTALL_DIR = ""
-BASE_DIR = os.path.dirname(__file__)
-SIP_FILE = "poppler-qt4.sip"
-BUILD_DIR = "build"
-SBF_FILE = "QtPoppler.sbf"
-
-
-def _cleanup_path(path):
- """
- Cleans the path:
- - Removes traling / or \
- """
- path = path.rstrip('/')
- path = path.rstrip('\\')
- return path
-
-
-def pkgconfig(package):
- '''
- Calls pkg-config for the given package
-
- Returns: - None if the package is not found.
- - {'inc_dirs': [List of -L Paths]
- 'lib_dirs' : [List of -I Paths]
- 'libs ' : [List of -l libs]
- }
- '''
- code, msg = commands.getstatusoutput("pkg-config --exists %s" % package)
- if code != 0:
- return None
- tokens = commands.getoutput("pkg-config --libs --cflags %s" % package).split()
- return {
- 'inc_dirs': [ token[2:] for token in tokens if token[:2] == '-I'],
- 'lib_dirs': [ token[2:] for token in tokens if token[:2] == '-L'],
- 'libs': [ token[2:] for token in tokens if token[:2] == '-l'],
- }
-
-def create_optparser(sipcfg):
- '''Comandline parser'''
-
- def store_abspath(option, opt_str, value, parser):
- setattr(parser.values, option.dest, os.path.abspath(value))
-
- def get_default_moddir():
- default = sipcfg.default_mod_dir
- default = os.path.join(default, INSTALL_DIR)
- return default
-
- p = optparse.OptionParser(usage="%prog [options]")
-
- default_moddir = get_default_moddir()
- p.add_option("-d", "--destdir", action="callback",
- default=default_moddir, type="string",
- metavar="DIR",
- dest="moddir", callback=store_abspath,
- help="Where to install PyPoppler-Qt4 python modules."
- "[default: %default]")
- p.add_option("-s", "--sipdir", action="callback",
- default=os.path.join(sipcfg.default_sip_dir, INSTALL_DIR),
- metavar="DIR", dest="sipdir", callback=store_abspath,
- type="string", help="Where the .sip files will be installed "
- "[default: %default]")
-
- p.add_option("", "--popplerqt-includes-dir", action="callback",
- default=None,
- metavar="DIR", dest="popplerqt_inc_dirs", callback=store_abspath,
- type="string", help="PopplerQt include paths"
- "[default: Auto-detected with pkg-config]")
- p.add_option("", "--popplerqt-libs-dir", action="callback",
- default=None,
- metavar="DIR", dest="popplerqt_lib_dirs", callback=store_abspath,
- type="string", help="PopplerQt libraries paths"
- "[default: Auto-detected with pkg-config]")
-
- return p
-
-def get_pyqt4_config():
- try:
- import PyQt4.pyqtconfig
- return PyQt4.pyqtconfig.Configuration()
- except ImportError, e:
- print >> sys.stderr, "ERROR: PyQt4 not found."
- sys.exit(1)
-
-def get_sip_config():
- try:
- import sipconfig
- return sipconfig.Configuration()
- except ImportError, e:
- print >> sys.stderr, "ERROR: SIP (sipconfig) not found."
- sys.exit(1)
-
-def get_popplerqt_config(opts):
- config = pkgconfig('poppler-qt4')
- if config is not None:
- found_pkgconfig = True
- else:
- found_pkgconfig = False
- config = {'libs': ['poppler-qt4', 'poppler'],
- 'inc_dirs': None,
- 'lib_dirs': None}
-
- if opts.popplerqt_inc_dirs is not None:
- config['inc_dirs'] = opts.popplerqt_inc_dirs.split(" ")
-
- if opts.popplerqt_lib_dirs is not None:
- config['lib_dirs'] = opts.popplerqt_lib_dirs.split(" ")
-
-
- if config['lib_dirs'] is None or config['inc_dirs'] is None:
- print >> sys.stderr, "ERROR: poppler-qt4 not found."
- print "Try to define PKG_CONFIG_PATH "
- print "or use --popplerqt-libs-dir and --popplerqt-includes-dir options"
- sys.exit(1)
-
- config['inc_dirs'] = map(_cleanup_path, config['inc_dirs'])
- config['lib_dirs'] = map(_cleanup_path, config['lib_dirs'])
- config['sip_dir'] = _cleanup_path(opts.sipdir)
- config['mod_dir'] = _cleanup_path(opts.moddir)
-
- print "Using PopplerQt include paths: %s" % config['inc_dirs']
- print "Using PopplerQt libraries paths: %s" % config['lib_dirs']
- print "Configured to install SIP in %s" % config['sip_dir']
- print "Configured to install binaries in %s" % config['mod_dir']
-
- return config
-
-def create_build_dir():
- dir = os.path.join(BASE_DIR, BUILD_DIR)
-
- if os.path.exists(dir):
- return
-
- try:
- os.mkdir(dir)
- except:
- print >> sys.stderr, "ERROR: Unable to create the build directory (%s)" % dir
- sys.exit(1)
-
-def run_sip(pyqtcfg):
- create_build_dir()
-
- cmd = [pyqtcfg.sip_bin,
- "-c", os.path.join(BASE_DIR, BUILD_DIR),
- "-b", os.path.join(BUILD_DIR, SBF_FILE),
- "-I", pyqtcfg.pyqt_sip_dir,
- pyqtcfg.pyqt_sip_flags,
- os.path.join(BASE_DIR, SIP_FILE)]
- os.system( " ".join(cmd) )
-
-def generate_makefiles(pyqtcfg, popplerqtcfg, opts):
- from PyQt4 import pyqtconfig
- import sipconfig
-
- pypopplerqt4config_file = os.path.join(BASE_DIR, "pypopplerqt4config.py")
-
- # Creeates the Makefiles objects for the build directory
- makefile_build = pyqtconfig.sipconfig.ModuleMakefile(
- configuration=pyqtcfg,
- build_file=SBF_FILE,
- dir=BUILD_DIR,
- install_dir=popplerqtcfg['mod_dir'],
- warnings=1,
- qt=['QtCore', 'QtGui', 'QtXml']
- )
-
- # Add extras dependencies for the compiler and the linker
- # Libraries names don't include any platform specific prefixes
- # or extensions (e.g. the "lib" prefix on UNIX, or the ".dll" extension on Windows)
- makefile_build.extra_lib_dirs = popplerqtcfg['lib_dirs']
- makefile_build.extra_libs = popplerqtcfg['libs']
- makefile_build.extra_include_dirs = popplerqtcfg['inc_dirs']
-
- # Generates build Makefile
- makefile_build.generate()
-
-
- # Generates root Makefile
-
- installs_root = []
- installs_root.append( (os.path.join(BASE_DIR, SIP_FILE), popplerqtcfg['sip_dir']) )
- installs_root.append( (pypopplerqt4config_file, popplerqtcfg['mod_dir']) )
-
- sipconfig.ParentMakefile(
- configuration=pyqtcfg,
- subdirs=[_cleanup_path(BUILD_DIR)],
- installs=installs_root
- ).generate()
-
-def generate_configuration_module(pyqtcfg, popplerqtcfg, opts):
- import sipconfig
-
- content = {
- "pypopplerqt4_sip_dir": popplerqtcfg['sip_dir'],
- "pypopplerqt4_sip_flags": pyqtcfg.pyqt_sip_flags,
- "pypopplerqt4_mod_dir": popplerqtcfg['mod_dir'],
- "pypopplerqt4_modules": 'PopplerQt',
- "popplerqt4_inc_dirs": popplerqtcfg['inc_dirs'],
- "popplerqt4_lib_dirs": popplerqtcfg['lib_dirs'],
- }
-
- # This creates the pypopplerqt4config.py module from the pypopplerqt4config.py.in
- # template and the dictionary.
- sipconfig.create_config_module(
- os.path.join(BASE_DIR, "pypopplerqt4config.py"),
- os.path.join(BASE_DIR, "pypopplerqt4config.py.in"),
- content)
-
-
-def main():
-
- sipcfg = get_sip_config()
- pyqtcfg = get_pyqt4_config()
-
- parser = create_optparser(sipcfg)
- opts, args = parser.parse_args()
-
- popplerqtcfg = get_popplerqt_config(opts)
-
- run_sip(pyqtcfg)
-
- generate_makefiles(pyqtcfg, popplerqtcfg, opts)
-
- generate_configuration_module(pyqtcfg, popplerqtcfg, opts)
-
-if __name__ == "__main__":
- main()
+import os, sys
+import commands
+import optparse
+import shutil
+
+INSTALL_DIR = ""
+BASE_DIR = os.path.dirname(__file__)
+SIP_FILE = "poppler-qt4.sip"
+BUILD_DIR = "build"
+SBF_FILE = "QtPoppler.sbf"
+
+
+def _cleanup_path(path):
+ """
+ Cleans the path:
+ - Removes traling / or \
+ """
+ path = path.rstrip('/')
+ path = path.rstrip('\\')
+ return path
+
+
+def pkgconfig(package):
+ '''
+ Calls pkg-config for the given package
+
+ Returns: - None if the package is not found.
+ - {'inc_dirs': [List of -L Paths]
+ 'lib_dirs' : [List of -I Paths]
+ 'libs ' : [List of -l libs]
+ }
+ '''
+ code, msg = commands.getstatusoutput("pkg-config --exists %s" % package)
+ if code != 0:
+ return None
+ tokens = commands.getoutput("pkg-config --libs --cflags %s" % package).split()
+ return {
+ 'inc_dirs': [ token[2:] for token in tokens if token[:2] == '-I'],
+ 'lib_dirs': [ token[2:] for token in tokens if token[:2] == '-L'],
+ 'libs': [ token[2:] for token in tokens if token[:2] == '-l'],
+ }
+
+def create_optparser(sipcfg):
+ '''Comandline parser'''
+
+ def store_abspath(option, opt_str, value, parser):
+ setattr(parser.values, option.dest, os.path.abspath(value))
+
+ def get_default_moddir():
+ default = sipcfg.default_mod_dir
+ default = os.path.join(default, INSTALL_DIR)
+ return default
+
+ p = optparse.OptionParser(usage="%prog [options]")
+
+ default_moddir = get_default_moddir()
+ p.add_option("-d", "--destdir", action="callback",
+ default=default_moddir, type="string",
+ metavar="DIR",
+ dest="moddir", callback=store_abspath,
+ help="Where to install PyPoppler-Qt4 python modules."
+ "[default: %default]")
+ p.add_option("-s", "--sipdir", action="callback",
+ default=os.path.join(sipcfg.default_sip_dir, INSTALL_DIR),
+ metavar="DIR", dest="sipdir", callback=store_abspath,
+ type="string", help="Where the .sip files will be installed "
+ "[default: %default]")
+
+ p.add_option("", "--popplerqt-includes-dir", action="callback",
+ default=None,
+ metavar="DIR", dest="popplerqt_inc_dirs", callback=store_abspath,
+ type="string", help="PopplerQt include paths"
+ "[default: Auto-detected with pkg-config]")
+ p.add_option("", "--popplerqt-libs-dir", action="callback",
+ default=None,
+ metavar="DIR", dest="popplerqt_lib_dirs", callback=store_abspath,
+ type="string", help="PopplerQt libraries paths"
+ "[default: Auto-detected with pkg-config]")
+
+ return p
+
+def get_pyqt4_config():
+ try:
+ import PyQt4.pyqtconfig
+ return PyQt4.pyqtconfig.Configuration()
+ except ImportError, e:
+ print >> sys.stderr, "ERROR: PyQt4 not found."
+ sys.exit(1)
+
+def get_sip_config():
+ try:
+ import sipconfig
+ return sipconfig.Configuration()
+ except ImportError, e:
+ print >> sys.stderr, "ERROR: SIP (sipconfig) not found."
+ sys.exit(1)
+
+def get_popplerqt_config(opts):
+ config = pkgconfig('poppler-qt4')
+ if config is not None:
+ found_pkgconfig = True
+ else:
+ found_pkgconfig = False
+ config = {'libs': ['poppler-qt4', 'poppler'],
+ 'inc_dirs': None,
+ 'lib_dirs': None}
+
+ if opts.popplerqt_inc_dirs is not None:
+ config['inc_dirs'] = opts.popplerqt_inc_dirs.split(" ")
+
+ if opts.popplerqt_lib_dirs is not None:
+ config['lib_dirs'] = opts.popplerqt_lib_dirs.split(" ")
+
+
+ if config['lib_dirs'] is None or config['inc_dirs'] is None:
+ print >> sys.stderr, "ERROR: poppler-qt4 not found."
+ print "Try to define PKG_CONFIG_PATH "
+ print "or use --popplerqt-libs-dir and --popplerqt-includes-dir options"
+ sys.exit(1)
+
+ config['inc_dirs'] = map(_cleanup_path, config['inc_dirs'])
+ config['lib_dirs'] = map(_cleanup_path, config['lib_dirs'])
+ config['sip_dir'] = _cleanup_path(opts.sipdir)
+ config['mod_dir'] = _cleanup_path(opts.moddir)
+
+ print "Using PopplerQt include paths: %s" % config['inc_dirs']
+ print "Using PopplerQt libraries paths: %s" % config['lib_dirs']
+ print "Configured to install SIP in %s" % config['sip_dir']
+ print "Configured to install binaries in %s" % config['mod_dir']
+
+ return config
+
+def create_build_dir():
+ dir = os.path.join(BASE_DIR, BUILD_DIR)
+
+ if os.path.exists(dir):
+ return
+
+ try:
+ os.mkdir(dir)
+ except:
+ print >> sys.stderr, "ERROR: Unable to create the build directory (%s)" % dir
+ sys.exit(1)
+
+def run_sip(pyqtcfg):
+ create_build_dir()
+
+ cmd = [pyqtcfg.sip_bin,
+ "-c", os.path.join(BASE_DIR, BUILD_DIR),
+ "-b", os.path.join(BUILD_DIR, SBF_FILE),
+ "-I", pyqtcfg.pyqt_sip_dir,
+ pyqtcfg.pyqt_sip_flags,
+ os.path.join(BASE_DIR, SIP_FILE)]
+ os.system( " ".join(cmd) )
+
+def generate_makefiles(pyqtcfg, popplerqtcfg, opts):
+ from PyQt4 import pyqtconfig
+ import sipconfig
+
+ pypopplerqt4config_file = os.path.join(BASE_DIR, "pypopplerqt4config.py")
+
+ # Creeates the Makefiles objects for the build directory
+ makefile_build = pyqtconfig.sipconfig.ModuleMakefile(
+ configuration=pyqtcfg,
+ build_file=SBF_FILE,
+ dir=BUILD_DIR,
+ install_dir=popplerqtcfg['mod_dir'],
+ warnings=1,
+ qt=['QtCore', 'QtGui', 'QtXml']
+ )
+
+ # Add extras dependencies for the compiler and the linker
+ # Libraries names don't include any platform specific prefixes
+ # or extensions (e.g. the "lib" prefix on UNIX, or the ".dll" extension on Windows)
+ makefile_build.extra_lib_dirs = popplerqtcfg['lib_dirs']
+ makefile_build.extra_libs = popplerqtcfg['libs']
+ makefile_build.extra_include_dirs = popplerqtcfg['inc_dirs']
+
+ # Generates build Makefile
+ makefile_build.generate()
+
+
+ # Generates root Makefile
+
+ installs_root = []
+ installs_root.append( (os.path.join(BASE_DIR, SIP_FILE), popplerqtcfg['sip_dir']) )
+ installs_root.append( (pypopplerqt4config_file, popplerqtcfg['mod_dir']) )
+
+ sipconfig.ParentMakefile(
+ configuration=pyqtcfg,
+ subdirs=[_cleanup_path(BUILD_DIR)],
+ installs=installs_root
+ ).generate()
+
+def generate_configuration_module(pyqtcfg, popplerqtcfg, opts):
+ import sipconfig
+
+ content = {
+ "pypopplerqt4_sip_dir": popplerqtcfg['sip_dir'],
+ "pypopplerqt4_sip_flags": pyqtcfg.pyqt_sip_flags,
+ "pypopplerqt4_mod_dir": popplerqtcfg['mod_dir'],
+ "pypopplerqt4_modules": 'PopplerQt',
+ "popplerqt4_inc_dirs": popplerqtcfg['inc_dirs'],
+ "popplerqt4_lib_dirs": popplerqtcfg['lib_dirs'],
+ }
+
+ # This creates the pypopplerqt4config.py module from the pypopplerqt4config.py.in
+ # template and the dictionary.
+ sipconfig.create_config_module(
+ os.path.join(BASE_DIR, "pypopplerqt4config.py"),
+ os.path.join(BASE_DIR, "pypopplerqt4config.py.in"),
+ content)
+
+
+def main():
+
+ sipcfg = get_sip_config()
+ pyqtcfg = get_pyqt4_config()
+
+ parser = create_optparser(sipcfg)
+ opts, args = parser.parse_args()
+
+ popplerqtcfg = get_popplerqt_config(opts)
+
+ run_sip(pyqtcfg)
+
+ generate_makefiles(pyqtcfg, popplerqtcfg, opts)
+
+ generate_configuration_module(pyqtcfg, popplerqtcfg, opts)
+
+if __name__ == "__main__":
+ main()
=== modified file 'test-poppler.py'
--- test-poppler.py 2009-12-26 06:14:41 +0000
+++ test-poppler.py 2011-01-08 17:28:49 +0000
@@ -1,56 +1,56 @@
-import sys
-
-from PyQt4 import QtCore, QtGui
-import QtPoppler
-
-
-class PDFDisplay(QtGui.QWidget):
- def __init__(self, doc):
- QtGui.QWidget.__init__(self, None)
- self.doc = doc
- self.pdfImage = None
- self.currentPage = 0
- self.display()
-
- def paintEvent(self, event):
- painter = QtGui.QPainter(self)
- if self.pdfImage is not None:
- painter.drawImage(0, 0, self.pdfImage)
- else:
- print "No Pixmap"
-
- def keyPressEvent(self, event):
- if event.key() == QtCore.Qt.Key_Down:
- if self.currentPage + 1 < self.doc.numPages():
- self.currentPage += 1
- self.display()
- elif event.key() == QtCore.Qt.Key_Up:
- if self.currentPage > 0:
- self.currentPage -= 1
- self.display()
- elif (event.key() == QtCore.Qt.Key_F):
- r = QtCore.QRectF()
- print self.doc.page(self.currentPage).search(QtCore.QString("Dinamis"), r, QtPoppler.Poppler.Page.FromTop, QtPoppler.Poppler.Page.CaseSensitive)
- print r
- elif (event.key() == QtCore.Qt.Key_Q):
- sys.exit(0)
-
- def display(self):
- if self.doc is not None:
- page = self.doc.page(self.currentPage)
- if page:
- self.pdfImage = None
- self.pdfImage = page.renderToImage()
- self.update()
- #delete page;
- else:
- print "doc not loaded"
-
-
-if __name__ == "__main__":
- app = QtGui.QApplication(sys.argv)
- d = QtPoppler.Poppler.Document.load("test.pdf")
- d.setRenderHint(QtPoppler.Poppler.Document.Antialiasing and QtPoppler.Poppler.Document.TextAntialiasing)
- disp = PDFDisplay(d)
- disp.show()
+import sys
+
+from PyQt4 import QtCore, QtGui
+import QtPoppler
+
+
+class PDFDisplay(QtGui.QWidget):
+ def __init__(self, doc):
+ QtGui.QWidget.__init__(self, None)
+ self.doc = doc
+ self.pdfImage = None
+ self.currentPage = 0
+ self.display()
+
+ def paintEvent(self, event):
+ painter = QtGui.QPainter(self)
+ if self.pdfImage is not None:
+ painter.drawImage(0, 0, self.pdfImage)
+ else:
+ print "No Pixmap"
+
+ def keyPressEvent(self, event):
+ if event.key() == QtCore.Qt.Key_Down:
+ if self.currentPage + 1 < self.doc.numPages():
+ self.currentPage += 1
+ self.display()
+ elif event.key() == QtCore.Qt.Key_Up:
+ if self.currentPage > 0:
+ self.currentPage -= 1
+ self.display()
+ elif (event.key() == QtCore.Qt.Key_F):
+ r = QtCore.QRectF()
+ print self.doc.page(self.currentPage).search(QtCore.QString("Dinamis"), r, QtPoppler.Poppler.Page.FromTop, QtPoppler.Poppler.Page.CaseSensitive)
+ print r
+ elif (event.key() == QtCore.Qt.Key_Q):
+ sys.exit(0)
+
+ def display(self):
+ if self.doc is not None:
+ page = self.doc.page(self.currentPage)
+ if page:
+ self.pdfImage = None
+ self.pdfImage = page.renderToImage()
+ self.update()
+ #delete page;
+ else:
+ print "doc not loaded"
+
+
+if __name__ == "__main__":
+ app = QtGui.QApplication(sys.argv)
+ d = QtPoppler.Poppler.Document.load(sys.argv[1])
+ d.setRenderHint(QtPoppler.Poppler.Document.Antialiasing and QtPoppler.Poppler.Document.TextAntialiasing)
+ disp = PDFDisplay(d)
+ disp.show()
sys.exit(app.exec_())
\ No newline at end of file