Esempio n. 1
0
	def __init__(self):
		builder = gtk.Builder()

		if hasattr(sys ,'frozen'):
			from blogger_update_metatags import resources
			data = resources.GUI_XML
		else:
			try:
				import pkgutil
				data = pkgutil.get_data(__name__, 'gui.xml')
			except ImportError:
				from pkg_resources import get_provider, ResourceManager
				data = get_provider(__name__).get_resource_string(ResourceManager(), 'gui.xml')

		builder.add_from_string(data)
		builder.connect_signals(self)

		for obj in builder.get_objects():
			setattr(self, gtk.Buildable.get_name(obj), obj)

		if os.access(DEFAULT_CONFIG_FILE, os.R_OK):
			self.filechooserbutton.set_filename(DEFAULT_CONFIG_FILE)

		self.treeview_log.append_column(gtk.TreeViewColumn(None, gtk.CellRendererPixbuf(), stock_id=0))
		self.treeview_log.append_column(gtk.TreeViewColumn(None, gtk.CellRendererText(), text=1))

		self.dialog.show_all()

		logger.addHandler(GtkListStoreHandler(self.liststore_log))
	parser.add_option('-c', dest='config_file', help='specify a configuration file')
	parser.add_option('--gui', dest='gui', action='store_true', help='enable Gtk+ frontend')

	options, args = parser.parse_args()

	if options.gui:
		if args or options.all or options.config_file:
			print >>sys.stderr, 'You can not specify any blogs or configuration file, when enabling the gui.'
			sys.exit(1)

		try:
			import pygtk
			pygtk.require('2.0')
		except (ImportError, AssertionError):
			print >>sys.stderr, 'PyGTK (Python bindings for Gtk+) is not installed.'
			sys.exit(1)

		from blogger_update_metatags.gui import Gui
		sys.exit(Gui().main())

	if not args and not options.all:
		print >>sys.stderr, "You don't have specified any blogs."
		sys.exit(1)

	if args and options.all:
		print >>sys.stderr, "You can not specify a list of blogs when using --all."
		sys.exit(1)

	logger.addHandler(logging.StreamHandler(sys.stderr))
	sys.exit(process_config_file(filename=(options.config_file or DEFAULT_CONFIG_FILE), blogs=(None if options.all else args)))