From 7111cca36be64f8c9a15d9292d7005d764cd9cbc Mon Sep 17 00:00:00 2001 From: Mauricio Baeza Date: Fri, 22 Nov 2019 19:34:48 -0600 Subject: [PATCH] Update easymacro --- CHANGELOG | 4 + README.md | 5 +- VERSION | 2 +- conf.py | 4 +- easymacro.py | 532 +++++++++++++++--- files/ZAZFavorites_v0.1.0.oxt | Bin 51601 -> 0 bytes files/ZAZFavorites_v0.2.0.oxt | Bin 55398 -> 0 bytes files/ZAZFavorites_v0.3.0.oxt | Bin 66856 -> 0 bytes ...tes_v0.4.0.oxt => ZAZFavorites_v0.5.0.oxt} | Bin 69343 -> 71042 bytes source/META-INF/manifest.xml | 2 +- source/description.xml | 2 +- source/pythonpath/easymacro.py | 532 +++++++++++++++--- zaz.py | 60 ++ 13 files changed, 999 insertions(+), 144 deletions(-) delete mode 100644 files/ZAZFavorites_v0.1.0.oxt delete mode 100644 files/ZAZFavorites_v0.2.0.oxt delete mode 100644 files/ZAZFavorites_v0.3.0.oxt rename files/{ZAZFavorites_v0.4.0.oxt => ZAZFavorites_v0.5.0.oxt} (51%) diff --git a/CHANGELOG b/CHANGELOG index 8c96867..85092b8 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,7 @@ +v 0.5.0 [22-nov-2019] + - Update easymacro.py + + v 0.4.0 [23-oct-2019] - Fix error in main diff --git a/README.md b/README.md index 16d67fa..fbfcd2a 100644 --- a/README.md +++ b/README.md @@ -9,11 +9,12 @@ https://gitlab.com/mauriciobaeza/zaz ### Software libre, no gratis + This extension have a cost of maintenance of 1 euro every year. -BCH: `1RPLWHJW34p7pMQV1ft4x7eWhAYw69Dsb` +BCH: `qztd3l00xle5tffdqvh2snvadkuau2ml0uqm4n875d` -BTC: `3Fe4JuADrAK8Qs7GDAxbSXR8E54avwZJLW` +BTC: `3FhiXcXmAesmQzrNEngjHFnvaJRhU1AGWV` PayPal :( donate ATT elmau DOT net diff --git a/VERSION b/VERSION index 26b5dec..8ea2ddf 100644 --- a/VERSION +++ b/VERSION @@ -1,2 +1,2 @@ -0.4.0 +0.5.0 diff --git a/conf.py b/conf.py index 012a322..9f2b603 100644 --- a/conf.py +++ b/conf.py @@ -26,7 +26,7 @@ import logging TYPE_EXTENSION = 1 # ~ https://semver.org/ -VERSION = '0.4.0' +VERSION = '0.5.0' # ~ Your great extension name, not used spaces NAME = 'ZAZFavorites' @@ -206,6 +206,8 @@ PATHS = { 'soffice': ('soffice', PROGRAM, FILE_TEST), 'install': ('unopkg', 'add', '-v', '-f', '-s'), 'profile': '/home/mau/.config/libreoffice/4/user', + 'gettext': PATH_PYGETTEXT, + 'msgmerge': PATH_MSGMERGE, } diff --git a/easymacro.py b/easymacro.py index 547f936..8259aca 100644 --- a/easymacro.py +++ b/easymacro.py @@ -34,6 +34,7 @@ import shlex import shutil import socket import subprocess +import ssl import sys import tempfile import threading @@ -41,13 +42,9 @@ import time import traceback import zipfile -# ~ from collections import OrderedDict -# ~ from collections.abc import MutableMapping from functools import wraps -from operator import itemgetter from pathlib import Path, PurePath from pprint import pprint -from enum import IntEnum from urllib.request import Request, urlopen from urllib.error import URLError, HTTPError from string import Template @@ -91,14 +88,10 @@ from com.sun.star.awt import XMenuListener from com.sun.star.awt import XKeyListener from com.sun.star.awt import XItemListener from com.sun.star.awt import XFocusListener +from com.sun.star.awt import XTabListener +from com.sun.star.awt.grid import XGridDataListener +from com.sun.star.awt.grid import XGridSelectionListener -class FontSlant(IntEnum): - NONE = 0 - OBLIQUE = 1 - ITALIC = 2 - DONTKNOW = 3 - REVERSE_OBLIQUE = 4 - REVERSE_ITALIC = 5 try: from fernet import Fernet, InvalidToken @@ -119,7 +112,6 @@ KEY = { SEPARATION = 5 - MSG_LANG = { 'es': { 'OK': 'Aceptar', @@ -130,35 +122,36 @@ MSG_LANG = { } } - OS = platform.system() USER = getpass.getuser() PC = platform.node() DESKTOP = os.environ.get('DESKTOP_SESSION', '') INFO_DEBUG = '{}\n\n{}\n\n{}'.format(sys.version, platform.platform(), '\n'.join(sys.path)) - IS_WIN = OS == 'Windows' LOG_NAME = 'ZAZ' CLIPBOARD_FORMAT_TEXT = 'text/plain;charset=utf-16' - PYTHON = 'python' if IS_WIN: PYTHON = 'python.exe' CALC = 'calc' WRITER = 'writer' + OBJ_CELL = 'ScCellObj' OBJ_RANGE = 'ScCellRangeObj' OBJ_RANGES = 'ScCellRangesObj' OBJ_TYPE_RANGES = (OBJ_CELL, OBJ_RANGE, OBJ_RANGES) +TEXT_RANGE = 'SwXTextRange' +TEXT_RANGES = 'SwXTextRanges' +TEXT_TYPE_RANGES = (TEXT_RANGE, TEXT_RANGES) + TYPE_DOC = { 'calc': 'com.sun.star.sheet.SpreadsheetDocument', 'writer': 'com.sun.star.text.TextDocument', 'impress': 'com.sun.star.presentation.PresentationDocument', 'draw': 'com.sun.star.drawing.DrawingDocument', - # ~ 'base': 'com.sun.star.sdb.OfficeDatabaseDocument', 'base': 'com.sun.star.sdb.DocumentDataSource', 'math': 'com.sun.star.formula.FormulaProperties', 'basic': 'com.sun.star.script.BasicIDE', @@ -197,19 +190,16 @@ MENUS_WRITER = { 'windows': '.uno:WindowList', 'help': '.uno:HelpMenu', } - MENUS_APP = { 'main': MENUS_MAIN, 'calc': MENUS_CALC, 'writer': MENUS_WRITER, } - EXT = { 'pdf': 'pdf', } - FILE_NAME_DEBUG = 'debug.odt' FILE_NAME_CONFIG = 'zaz-{}.json' LOG_FORMAT = '%(asctime)s - %(levelname)s - %(message)s' @@ -279,6 +269,12 @@ def mri(obj): return +def inspect(obj): + zaz = create_instance('net.elmau.zaz.inspect') + zaz.inspect(obj) + return + + def catch_exception(f): @wraps(f) def func(*args, **kwargs): @@ -454,12 +450,14 @@ def call_dispatch(url, args=()): return -def get_temp_file(): +def get_temp_file(only_name=False): delete = True if IS_WIN: delete = False - return tempfile.NamedTemporaryFile(delete=delete) - + tmp = tempfile.NamedTemporaryFile(delete=delete) + if only_name: + tmp = tmp.name + return tmp def _path_url(path): if path.startswith('file://'): @@ -501,6 +499,11 @@ def dict_to_property(values, uno_any=False): return ps +def dict_to_named(values): + ps = tuple([NamedValue(n, v) for n, v in values.items()]) + return ps + + def property_to_dict(values): d = {i.Name: i.Value for i in values} return d @@ -934,6 +937,67 @@ class LOCellStyles(object): return +class LOImage(object): + TYPES = { + 'image/png': 'png', + 'image/jpeg': 'jpg', + } + + def __init__(self, obj): + self._obj = obj + + @property + def obj(self): + return self._obj + + @property + def address(self): + return self.obj.Anchor.AbsoluteName + + @property + def name(self): + return self.obj.Name + + @property + def mimetype(self): + return self.obj.Bitmap.MimeType + + @property + def url(self): + return _path_system(self.obj.URL) + @url.setter + def url(self, value): + self.obj.URL = _path_url(value) + + @property + def path(self): + return _path_system(self.obj.GraphicURL) + @path.setter + def path(self, value): + self.obj.GraphicURL = _path_url(value) + + @property + def visible(self): + return self.obj.Visible + @visible.setter + def visible(self, value): + self_obj.Visible = value + + def save(self, path): + if is_dir(path): + p = path + n = self.name + else: + p, fn, n, e = get_info_path(path) + ext = self.TYPES[self.mimetype] + path = join(p, '{}.{}'.format(n, ext)) + size = len(self.obj.Bitmap.DIB) + data = self.obj.GraphicStream.readBytes((), size) + data = data[-1].value + save_file(path, 'wb', data) + return path + + class LOCalc(LODocument): def __init__(self, obj): @@ -942,7 +1006,9 @@ class LOCalc(LODocument): def __getitem__(self, index): if isinstance(index, str): - index = [s.Name for s in self._sheets if s.CodeName == index][0] or index + code_name = [s.Name for s in self._sheets if s.CodeName == index] + if code_name: + index = code_name[0] return LOCalcSheet(self._sheets[index], self) def __setitem__(self, key, value): @@ -1182,7 +1248,7 @@ class LOCalcSheet(object): def _init_values(self): self._events = None self._dp = self.obj.getDrawPage() - return + self._images = {i.Name: LOImage(i) for i in self._dp} @property def obj(self): @@ -1192,6 +1258,10 @@ class LOCalcSheet(object): def doc(self): return self._doc + @property + def images(self): + return self._images + @property def name(self): return self._obj.Name @@ -1306,7 +1376,11 @@ class LOWriter(LODocument): @property def selection(self): sel = self.obj.getCurrentSelection() - return LOTextRange(sel[0]) + if sel.ImplementationName == TEXT_RANGES: + return LOTextRange(sel[0]) + elif sel.ImplementationName == TEXT_RANGE: + return LOTextRange(sel) + return sel def write(self, data, cursor=None): cursor = cursor or self.selection.cursor.getEnd() @@ -1583,7 +1657,7 @@ class LODrawImpress(LODocument): def insert_image(self, path, **kwargs): w = kwargs.get('width', 3000) - h = kwargs.get('Height', 1000) + h = kwargs.get('Height', 3000) x = kwargs.get('X', 1000) y = kwargs.get('Y', 1000) @@ -1640,6 +1714,9 @@ class LOCellRange(object): def __getitem__(self, index): return LOCellRange(self.obj[index], self.doc) + def __contains__(self, item): + return item.in_range(self) + def _init_values(self): self._type_obj = self.obj.ImplementationName self._type_content = EMPTY @@ -1689,7 +1766,7 @@ class LOCellRange(object): self.obj.setFormula(data) else: self.obj.setString(data) - elif isinstance(data, (int, float)): + elif isinstance(data, (int, float, bool)): self.obj.setValue(data) elif isinstance(data, datetime.datetime): d = data.toordinal() @@ -1707,8 +1784,6 @@ class LOCellRange(object): return self.obj.getDataArray() @data.setter def data(self, values): - if isinstance(values, list): - values = tuple(values) self.obj.setDataArray(values) @property @@ -1716,8 +1791,6 @@ class LOCellRange(object): return self.obj.getFormulaArray() @formula.setter def formula(self, values): - if isinstance(values, list): - values = tuple(values) self.obj.setFormulaArray(values) @property @@ -1742,13 +1815,19 @@ class LOCellRange(object): cursor.collapseToSize(cols, rows) return LOCellRange(self.sheet[cursor.AbsoluteName].obj, self.doc) - def copy_from(self, rango): + def copy_from(self, rango, formula=False): data = rango if isinstance(rango, LOCellRange): - data = rango.data + if formula: + data = rango.formula + else: + data = rango.data rows = len(data) cols = len(data[0]) - self.to_size(rows, cols).data = data + if formula: + self.to_size(rows, cols).formula = data + else: + self.to_size(rows, cols).data = data return def copy_to(self, cell, formula=False): @@ -1759,6 +1838,10 @@ class LOCellRange(object): rango.data = self.data return + def copy(self, source): + self.sheet.obj.copyRange(self.address, source.range_address) + return + def offset(self, row=1, col=0): ra = self.obj.getRangeAddress() col = ra.EndColumn + col @@ -1816,6 +1899,10 @@ class LOCellRange(object): a = self.obj.getRangeAddressesAsString() return a + @property + def range_address(self): + return self.obj.getRangeAddress() + @property def current_region(self): cursor = self.sheet.get_cursor(self.obj[0,0]) @@ -1986,6 +2073,10 @@ class EventsListenerBase(unohelper.Base, XEventListener): self._name = name self._window = window + @property + def name(self): + return self._name + def disposing(self, event): self._controller = None if not self._window is None: @@ -2096,7 +2187,10 @@ class EventsItem(EventsListenerBase, XItemListener): pass def itemStateChanged(self, event): - pass + event_name = '{}_item_changed'.format(self.name) + if hasattr(self._controller, event_name): + getattr(self._controller, event_name)(event) + return class EventsItemRoadmap(EventsItem): @@ -2145,6 +2239,45 @@ class EventsKey(EventsListenerBase, XKeyListener): return +class EventsTab(EventsListenerBase, XTabListener): + + def __init__(self, controller, name): + super().__init__(controller, name) + + def activated(self, id): + event_name = '{}_activated'.format(self.name) + if hasattr(self._controller, event_name): + getattr(self._controller, event_name)(id) + return + + +class EventsGrid(EventsListenerBase, XGridDataListener, XGridSelectionListener): + + def __init__(self, controller, name): + super().__init__(controller, name) + + def dataChanged(self, event): + event_name = '{}_data_changed'.format(self.name) + if hasattr(self._controller, event_name): + getattr(self._controller, event_name)(event) + return + + def rowHeadingChanged(self, event): + pass + + def rowsInserted(self, event): + pass + + def rowsRemoved(self, evemt): + pass + + def selectionChanged(self, event): + event_name = '{}_selection_changed'.format(self.name) + if hasattr(self._controller, event_name): + getattr(self._controller, event_name)(event) + return + + class EventsKeyWindow(EventsListenerBase, XKeyListener): """ event.KeyChar @@ -2221,8 +2354,8 @@ class EventsWindow(EventsListenerBase, XTopWindowListener, XWindowListener): # ~ XWindowListener def windowResized(self, event): - # ~ sb = self._container.getControl('subcontainer') - # ~ sb.setPosSize(0, 0, event.Width, event.Height, SIZE) + sb = self._cls._subcont + sb.setPosSize(0, 0, event.Width, event.Height, SIZE) event_name = '{}_resized'.format(self._name) if hasattr(self._controller, event_name): getattr(self._controller, event_name)(event) @@ -2284,6 +2417,7 @@ class UnoBaseObject(object): @property def parent(self): + ps = self.obj.getContext().PosSize return self.obj.getContext() def _get_possize(self, name): @@ -2325,17 +2459,23 @@ class UnoBaseObject(object): return self._model.Width @width.setter def width(self, value): - self._model.Width = value + if hasattr(self.model, 'Width'): + self.model.Width = value + elif hasattr(self.obj, 'PosSize'): + self._set_possize('Width', value) @property def height(self): - if hasattr(self._model, 'Height'): - return self._model.Height + if hasattr(self.model, 'Height'): + return self.model.Height ps = self.obj.getPosSize() return ps.Height @height.setter def height(self, value): - self._model.Height = value + if hasattr(self.model, 'Height'): + self.model.Height = value + elif hasattr(self.obj, 'PosSize'): + self._set_possize('Height', value) @property def tag(self): @@ -2398,8 +2538,12 @@ class UnoBaseObject(object): def move(self, origin, x=0, y=5): if x: self.x = origin.x + origin.width + x + else: + self.x = origin.x if y: self.y = origin.y + origin.height + y + else: + self.y = origin.y return def possize(self, origin): @@ -2568,16 +2712,19 @@ class UnoGrid(UnoBaseObject): # ~ def format_columns(self, value): # ~ self._format_columns = value + @property + def value(self): + return self[self.column, self.row] + @property def data(self): return self._data @data.setter def data(self, values): # ~ self._data = values - self._gdm.removeAllRows() + self.clear() headings = tuple(range(1, len(values) + 1)) self._gdm.addRows(headings, values) - # ~ rows = range(grid_dm.RowCount) # ~ colors = [COLORS['GRAY'] if r % 2 else COLORS['WHITE'] for r in rows] # ~ grid.Model.RowBackgroundColors = tuple(colors) @@ -2617,6 +2764,10 @@ class UnoGrid(UnoBaseObject): row.append(d) return tuple(row) + def clear(self): + self._gdm.removeAllRows() + return + def add_row(self, data): # ~ self._data.append(data) data = self._validate_column(data) @@ -2626,18 +2777,17 @@ class UnoGrid(UnoBaseObject): def remove_row(self, row): self._gdm.removeRow(row) # ~ del self._data[row] - self._update_row_heading() + self.update_row_heading() return - def _update_row_heading(self): + def update_row_heading(self): for i in range(self.rows): self._gdm.updateRowHeading(i, i + 1) return def sort(self, column, asc=True): self._gdm.sortByColumn(column, asc) - # ~ self._data.sort(key=itemgetter(column), reverse=not asc) - self._update_row_heading() + self.update_row_heading() return def set_column_image(self, column, path): @@ -2685,7 +2835,6 @@ class UnoRoadmap(UnoBaseObject): class UnoTree(UnoBaseObject): - @catch_exception def __init__(self, obj, ): super().__init__(obj) self._tdm = None @@ -2738,6 +2887,119 @@ class UnoTree(UnoBaseObject): return +class UnoTab(UnoBaseObject): + + def __init__(self, obj): + super().__init__(obj) + self._events = None + + def __getitem__(self, index): + return self.get_sheet(index) + + @property + def current(self): + return self.obj.getActiveTabID() + @property + def active(self): + return self.current + + def get_sheet(self, id): + if isinstance(id, int): + sheet = self.obj.Controls[id-1] + else: + sheet = self.obj.getControl(id.lower()) + return sheet + + @property + def sheets(self): + return self._sheets + @sheets.setter + def sheets(self, values): + i = len(self.obj.Controls) + for title in values: + i += 1 + sheet = self.model.createInstance('com.sun.star.awt.UnoPageModel') + sheet.Title = title + self.model.insertByName('sheet{}'.format(i), sheet) + return + + def insert(self, title): + id = len(self.obj.Controls) + 1 + sheet = self.model.createInstance('com.sun.star.awt.UnoPageModel') + sheet.Title = title + self.model.insertByName('sheet{}'.format(id), sheet) + return id + + def remove(self, id): + sheet = self.get_sheet(id) + for control in sheet.getControls(): + sheet.Model.removeByName(control.Model.Name) + sheet.removeControl(control) + # ~ self._model.removeByName('page_{}'.format(ID)) + + self.obj.removeTab(id) + return + + def activate(self, id): + self.obj.activateTab(id) + return + + @property + def events(self): + return self._events + @events.setter + def events(self, controllers): + self._events = controllers + + def _special_properties(self, tipo, properties): + columns = properties.pop('Columns', ()) + if tipo == 'grid': + properties['ColumnModel'] = _set_column_model(columns) + if not 'Width' in properties: + properties['Width'] = self.width + if not 'Height' in properties: + properties['Height'] = self.height + elif tipo == 'button' and 'ImageURL' in properties: + properties['ImageURL'] = self._set_image_url(properties['ImageURL']) + elif tipo == 'roadmap': + if not 'Height' in properties: + properties['Height'] = self.height + if 'Title' in properties: + properties['Text'] = properties.pop('Title') + elif tipo == 'pages': + if not 'Width' in properties: + properties['Width'] = self.width + if not 'Height' in properties: + properties['Height'] = self.height + + return properties + + def add_control(self, id, properties): + tipo = properties.pop('Type').lower() + root = properties.pop('Root', '') + sheets = properties.pop('Sheets', ()) + properties = self._special_properties(tipo, properties) + + sheet = self.get_sheet(id) + sheet_model = sheet.getModel() + model = sheet_model.createInstance(get_control_model(tipo)) + set_properties(model, properties) + name = properties['Name'] + sheet_model.insertByName(name, model) + + control = sheet.getControl(name) + add_listeners(self.events, control, name) + control = get_custom_class(tipo, control) + + if tipo == 'tree' and root: + control.root = root + elif tipo == 'pages' and sheets: + control.sheets = sheets + + setattr(self, name, control) + return + + def get_custom_class(tipo, obj): classes = { 'label': UnoLabel, @@ -2748,7 +3010,7 @@ def get_custom_class(tipo, obj): 'link': UnoLabelLink, 'roadmap': UnoRoadmap, 'tree': UnoTree, - # ~ 'tab': UnoTab, + 'tab': UnoTab, # ~ 'image': UnoImage, # ~ 'radio': UnoRadio, # ~ 'groupbox': UnoGroupBox, @@ -2757,6 +3019,24 @@ def get_custom_class(tipo, obj): return classes[tipo](obj) +def get_control_model(control): + services = { + 'label': 'com.sun.star.awt.UnoControlFixedTextModel', + 'link': 'com.sun.star.awt.UnoControlFixedHyperlinkModel', + 'text': 'com.sun.star.awt.UnoControlEditModel', + 'listbox': 'com.sun.star.awt.UnoControlListBoxModel', + 'button': 'com.sun.star.awt.UnoControlButtonModel', + 'roadmap': 'com.sun.star.awt.UnoControlRoadmapModel', + 'grid': 'com.sun.star.awt.grid.UnoControlGridModel', + 'tree': 'com.sun.star.awt.tree.TreeControlModel', + 'groupbox': 'com.sun.star.awt.UnoControlGroupBoxModel', + 'image': 'com.sun.star.awt.UnoControlImageControlModel', + 'radio': 'com.sun.star.awt.UnoControlRadioButtonModel', + 'tab': 'com.sun.star.awt.UnoMultiPageModel', + } + return services[control] + + def add_listeners(events, control, name=''): listeners = { 'addActionListener': EventsButton, @@ -2764,6 +3044,7 @@ def add_listeners(events, control, name=''): 'addItemListener': EventsItem, 'addFocusListener': EventsFocus, 'addKeyListener': EventsKey, + 'addTabListener': EventsTab, } if hasattr(control, 'obj'): control = contro.obj @@ -2785,6 +3066,11 @@ def add_listeners(events, control, name=''): continue getattr(control, key)(listeners[key](events, name)) + + if is_grid: + controllers = EventsGrid(events, name) + control.addSelectionListener(controllers) + control.Model.GridDataModel.addGridDataListener(controllers) return @@ -3174,6 +3460,7 @@ class LOChart(object): chart_data.setData(data) chart_data.RowDescriptions = labels + # ~ Bug if tipo == 'Pie': chart.setDiagram(chart.createInstance(self.BASE.format('Bar'))) chart.setDiagram(chart.createInstance(self.BASE.format('Pie'))) @@ -3225,6 +3512,29 @@ class LOChart(object): return self +def _set_column_model(columns): + #~ https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1awt_1_1grid_1_1XGridColumn.html + column_model = create_instance('com.sun.star.awt.grid.DefaultGridColumnModel', True) + for column in columns: + grid_column = create_instance('com.sun.star.awt.grid.GridColumn', True) + for k, v in column.items(): + setattr(grid_column, k, v) + column_model.addColumn(grid_column) + return column_model + + +def _set_image_url(image, id_extension=''): + if exists_path(image): + return _path_url(image) + + if not id_extension: + return '' + + path = get_path_extension(id_extension) + path = join(path, DIR['images'], image) + return _path_url(path) + + class LODialog(object): def __init__(self, **properties): @@ -3278,6 +3588,7 @@ class LODialog(object): 'stardiv.Toolkit.UnoButtonControl': 'button', 'stardiv.Toolkit.UnoListBoxControl': 'listbox', 'stardiv.Toolkit.UnoRoadmapControl': 'roadmap', + 'stardiv.Toolkit.UnoMultiPageControl': 'pages', } return types[name] @@ -3375,6 +3686,7 @@ class LODialog(object): 'groupbox': 'com.sun.star.awt.UnoControlGroupBoxModel', 'image': 'com.sun.star.awt.UnoControlImageControlModel', 'radio': 'com.sun.star.awt.UnoControlRadioButtonModel', + 'pages': 'com.sun.star.awt.UnoMultiPageModel', } return services[control] @@ -3410,11 +3722,18 @@ class LODialog(object): properties['Height'] = self.height if 'Title' in properties: properties['Text'] = properties.pop('Title') + elif tipo == 'tab': + if not 'Width' in properties: + properties['Width'] = self.width + if not 'Height' in properties: + properties['Height'] = self.height + return properties def add_control(self, properties): tipo = properties.pop('Type').lower() root = properties.pop('Root', '') + sheets = properties.pop('Sheets', ()) properties = self._special_properties(tipo, properties) model = self.model.createInstance(self._get_control_model(tipo)) @@ -3427,6 +3746,9 @@ class LODialog(object): if tipo == 'tree' and root: control.root = root + elif tipo == 'pages' and sheets: + control.sheets = sheets + control.events = self.events setattr(self, name, control) return @@ -3459,13 +3781,26 @@ class LODialog(object): class LOWindow(object): + EMPTY = b""" + +""" def __init__(self, **kwargs): self._events = None self._menu = None self._container = None + self._id_extension = '' self._obj = self._create(kwargs) + @property + def id_extension(self): + return self._id_extension + @id_extension.setter + def id_extension(self, value): + global ID_EXTENSION + ID_EXTENSION = value + self._id_extension = value + def _create(self, properties): ps = ( properties.get('X', 0), @@ -3476,6 +3811,7 @@ class LOWindow(object): self._title = properties.get('Title', TITLE) self._create_frame(ps) self._create_container(ps) + self._create_subcontainer(ps) # ~ self._create_splitter(ps) return @@ -3507,6 +3843,31 @@ class LOWindow(object): self._frame.setComponent(self._container, None) return + def _create_subcontainer(self, ps): + service = 'com.sun.star.awt.ContainerWindowProvider' + cwp = create_instance(service, True) + with get_temp_file() as f: + f.write(self.EMPTY) + f.flush() + subcont = cwp.createContainerWindow( + _path_url(f.name), '', self._container.getPeer(), None) + + # ~ service = 'com.sun.star.awt.UnoControlDialog' + # ~ subcont2 = create_instance(service, True) + # ~ service = 'com.sun.star.awt.UnoControlDialogModel' + # ~ model = create_instance(service, True) + # ~ service = 'com.sun.star.awt.UnoControlContainer' + # ~ context = create_instance(service, True) + # ~ subcont2.setModel(model) + # ~ subcont2.setContext(context) + # ~ subcont2.createPeer(self._toolkit, self._container.getPeer()) + + subcont.setPosSize(0, 0, 500, 500, POSSIZE) + subcont.setVisible(True) + self._container.addControl('subcont', subcont) + self._subcont = subcont + return + def _get_base_control(self, tipo): services = { 'label': 'com.sun.star.awt.UnoControlFixedText', @@ -3520,25 +3881,50 @@ class LOWindow(object): 'radio': 'com.sun.star.awt.UnoControlRadioButton', 'tree': 'com.sun.star.awt.tree.TreeControl', 'grid': 'com.sun.star.awt.grid.UnoControlGrid', + 'tab': 'com.sun.star.awt.tab.UnoControlTabPage', } return services[tipo] + def _special_properties(self, tipo, properties): + columns = properties.pop('Columns', ()) + if tipo == 'grid': + properties['ColumnModel'] = self._set_column_model(columns) + elif tipo == 'button' and 'ImageURL' in properties: + properties['ImageURL'] = _set_image_url( + properties['ImageURL'], self.id_extension) + elif tipo == 'roadmap': + if not 'Height' in properties: + properties['Height'] = self.height + if 'Title' in properties: + properties['Text'] = properties.pop('Title') + elif tipo == 'tab': + if not 'Width' in properties: + properties['Width'] = self.width - 20 + if not 'Height' in properties: + properties['Height'] = self.height - 20 + + return properties + def add_control(self, properties): tipo = properties.pop('Type').lower() - base = self._get_base_control(tipo) - obj = create_instance(base, True) - model = create_instance('{}Model'.format(base), True) + root = properties.pop('Root', '') + sheets = properties.pop('Sheets', ()) + + properties = self._special_properties(tipo, properties) + model = self._subcont.Model.createInstance(get_control_model(tipo)) set_properties(model, properties) - obj.setModel(model) - x = properties.get('X', 5) - y = properties.get('Y', 5) - w = properties.get('Width', 200) - h = properties.get('Height', 25) - obj.setPosSize(x, y, w, h, POSSIZE) name = properties['Name'] - self._container.addControl(name, obj) - add_listeners(self.events, obj, name) - control = get_custom_class(tipo, obj) + self._subcont.Model.insertByName(name, model) + control = self._subcont.getControl(name) + add_listeners(self.events, control, name) + control = get_custom_class(tipo, control) + + if tipo == 'tree' and root: + control.root = root + elif tipo == 'tab' and sheets: + control.sheets = sheets + control.events = self.events + setattr(self, name, control) return @@ -3834,8 +4220,12 @@ def json_loads(data): def get_path_extension(id): + path = '' pip = CTX.getValueByName('/singletons/com.sun.star.deployment.PackageInformationProvider') - path = _path_system(pip.getPackageLocation(id)) + try: + path = _path_system(pip.getPackageLocation(id)) + except Exception as e: + error(e) return path @@ -3979,7 +4369,7 @@ def open_file(path): if IS_WIN: os.startfile(path) else: - subprocess.Popen(['xdg-open', path]) + pid = subprocess.Popen(['xdg-open', path]).pid return @@ -4032,23 +4422,29 @@ def popen(command, stdin=None): yield (e.errno, e.strerror) -def url_open(url, options={}, json=False): +def url_open(url, options={}, verify=True, json=False): data = '' + err = '' req = Request(url) try: - response = urlopen(req) - # ~ response.info() + if verify: + response = urlopen(req) + else: + context = ssl._create_unverified_context() + response = urlopen(req, context=context) except HTTPError as e: error(e) + err = str(e) except URLError as e: error(e.reason) + err = str(e.reason) else: if json: data = json_loads(response.read()) else: data = response.read() - return data + return data, err def run(command, wait=False): @@ -5025,8 +5421,6 @@ class LIBOServer(object): return instance - - # ~ controls = { # ~ 'CheckBox': 'com.sun.star.awt.UnoControlCheckBoxModel', # ~ 'ComboBox': 'com.sun.star.awt.UnoControlComboBoxModel', diff --git a/files/ZAZFavorites_v0.1.0.oxt b/files/ZAZFavorites_v0.1.0.oxt deleted file mode 100644 index 09db96c20f0442c3643cf61283c7509065d96485..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51601 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%0ANa})63;40bv8r?+ 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 diff --git a/files/ZAZFavorites_v0.4.0.oxt b/files/ZAZFavorites_v0.5.0.oxt similarity index 51% rename from files/ZAZFavorites_v0.4.0.oxt rename to files/ZAZFavorites_v0.5.0.oxt index 679b8fe7eb0bad41ac82616a0567cb9cb231bffb..62348e08dcf56197cb14141d05e471ac14010d36 100644 GIT binary patch delta 33176 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 - + diff --git a/source/description.xml b/source/description.xml index 79c0dc7..1132090 100644 --- a/source/description.xml +++ b/source/description.xml @@ -1,7 +1,7 @@ - + Favorites files Archivos favoritos diff --git a/source/pythonpath/easymacro.py b/source/pythonpath/easymacro.py index 547f936..8259aca 100644 --- a/source/pythonpath/easymacro.py +++ b/source/pythonpath/easymacro.py @@ -34,6 +34,7 @@ import shlex import shutil import socket import subprocess +import ssl import sys import tempfile import threading @@ -41,13 +42,9 @@ import time import traceback import zipfile -# ~ from collections import OrderedDict -# ~ from collections.abc import MutableMapping from functools import wraps -from operator import itemgetter from pathlib import Path, PurePath from pprint import pprint -from enum import IntEnum from urllib.request import Request, urlopen from urllib.error import URLError, HTTPError from string import Template @@ -91,14 +88,10 @@ from com.sun.star.awt import XMenuListener from com.sun.star.awt import XKeyListener from com.sun.star.awt import XItemListener from com.sun.star.awt import XFocusListener +from com.sun.star.awt import XTabListener +from com.sun.star.awt.grid import XGridDataListener +from com.sun.star.awt.grid import XGridSelectionListener -class FontSlant(IntEnum): - NONE = 0 - OBLIQUE = 1 - ITALIC = 2 - DONTKNOW = 3 - REVERSE_OBLIQUE = 4 - REVERSE_ITALIC = 5 try: from fernet import Fernet, InvalidToken @@ -119,7 +112,6 @@ KEY = { SEPARATION = 5 - MSG_LANG = { 'es': { 'OK': 'Aceptar', @@ -130,35 +122,36 @@ MSG_LANG = { } } - OS = platform.system() USER = getpass.getuser() PC = platform.node() DESKTOP = os.environ.get('DESKTOP_SESSION', '') INFO_DEBUG = '{}\n\n{}\n\n{}'.format(sys.version, platform.platform(), '\n'.join(sys.path)) - IS_WIN = OS == 'Windows' LOG_NAME = 'ZAZ' CLIPBOARD_FORMAT_TEXT = 'text/plain;charset=utf-16' - PYTHON = 'python' if IS_WIN: PYTHON = 'python.exe' CALC = 'calc' WRITER = 'writer' + OBJ_CELL = 'ScCellObj' OBJ_RANGE = 'ScCellRangeObj' OBJ_RANGES = 'ScCellRangesObj' OBJ_TYPE_RANGES = (OBJ_CELL, OBJ_RANGE, OBJ_RANGES) +TEXT_RANGE = 'SwXTextRange' +TEXT_RANGES = 'SwXTextRanges' +TEXT_TYPE_RANGES = (TEXT_RANGE, TEXT_RANGES) + TYPE_DOC = { 'calc': 'com.sun.star.sheet.SpreadsheetDocument', 'writer': 'com.sun.star.text.TextDocument', 'impress': 'com.sun.star.presentation.PresentationDocument', 'draw': 'com.sun.star.drawing.DrawingDocument', - # ~ 'base': 'com.sun.star.sdb.OfficeDatabaseDocument', 'base': 'com.sun.star.sdb.DocumentDataSource', 'math': 'com.sun.star.formula.FormulaProperties', 'basic': 'com.sun.star.script.BasicIDE', @@ -197,19 +190,16 @@ MENUS_WRITER = { 'windows': '.uno:WindowList', 'help': '.uno:HelpMenu', } - MENUS_APP = { 'main': MENUS_MAIN, 'calc': MENUS_CALC, 'writer': MENUS_WRITER, } - EXT = { 'pdf': 'pdf', } - FILE_NAME_DEBUG = 'debug.odt' FILE_NAME_CONFIG = 'zaz-{}.json' LOG_FORMAT = '%(asctime)s - %(levelname)s - %(message)s' @@ -279,6 +269,12 @@ def mri(obj): return +def inspect(obj): + zaz = create_instance('net.elmau.zaz.inspect') + zaz.inspect(obj) + return + + def catch_exception(f): @wraps(f) def func(*args, **kwargs): @@ -454,12 +450,14 @@ def call_dispatch(url, args=()): return -def get_temp_file(): +def get_temp_file(only_name=False): delete = True if IS_WIN: delete = False - return tempfile.NamedTemporaryFile(delete=delete) - + tmp = tempfile.NamedTemporaryFile(delete=delete) + if only_name: + tmp = tmp.name + return tmp def _path_url(path): if path.startswith('file://'): @@ -501,6 +499,11 @@ def dict_to_property(values, uno_any=False): return ps +def dict_to_named(values): + ps = tuple([NamedValue(n, v) for n, v in values.items()]) + return ps + + def property_to_dict(values): d = {i.Name: i.Value for i in values} return d @@ -934,6 +937,67 @@ class LOCellStyles(object): return +class LOImage(object): + TYPES = { + 'image/png': 'png', + 'image/jpeg': 'jpg', + } + + def __init__(self, obj): + self._obj = obj + + @property + def obj(self): + return self._obj + + @property + def address(self): + return self.obj.Anchor.AbsoluteName + + @property + def name(self): + return self.obj.Name + + @property + def mimetype(self): + return self.obj.Bitmap.MimeType + + @property + def url(self): + return _path_system(self.obj.URL) + @url.setter + def url(self, value): + self.obj.URL = _path_url(value) + + @property + def path(self): + return _path_system(self.obj.GraphicURL) + @path.setter + def path(self, value): + self.obj.GraphicURL = _path_url(value) + + @property + def visible(self): + return self.obj.Visible + @visible.setter + def visible(self, value): + self_obj.Visible = value + + def save(self, path): + if is_dir(path): + p = path + n = self.name + else: + p, fn, n, e = get_info_path(path) + ext = self.TYPES[self.mimetype] + path = join(p, '{}.{}'.format(n, ext)) + size = len(self.obj.Bitmap.DIB) + data = self.obj.GraphicStream.readBytes((), size) + data = data[-1].value + save_file(path, 'wb', data) + return path + + class LOCalc(LODocument): def __init__(self, obj): @@ -942,7 +1006,9 @@ class LOCalc(LODocument): def __getitem__(self, index): if isinstance(index, str): - index = [s.Name for s in self._sheets if s.CodeName == index][0] or index + code_name = [s.Name for s in self._sheets if s.CodeName == index] + if code_name: + index = code_name[0] return LOCalcSheet(self._sheets[index], self) def __setitem__(self, key, value): @@ -1182,7 +1248,7 @@ class LOCalcSheet(object): def _init_values(self): self._events = None self._dp = self.obj.getDrawPage() - return + self._images = {i.Name: LOImage(i) for i in self._dp} @property def obj(self): @@ -1192,6 +1258,10 @@ class LOCalcSheet(object): def doc(self): return self._doc + @property + def images(self): + return self._images + @property def name(self): return self._obj.Name @@ -1306,7 +1376,11 @@ class LOWriter(LODocument): @property def selection(self): sel = self.obj.getCurrentSelection() - return LOTextRange(sel[0]) + if sel.ImplementationName == TEXT_RANGES: + return LOTextRange(sel[0]) + elif sel.ImplementationName == TEXT_RANGE: + return LOTextRange(sel) + return sel def write(self, data, cursor=None): cursor = cursor or self.selection.cursor.getEnd() @@ -1583,7 +1657,7 @@ class LODrawImpress(LODocument): def insert_image(self, path, **kwargs): w = kwargs.get('width', 3000) - h = kwargs.get('Height', 1000) + h = kwargs.get('Height', 3000) x = kwargs.get('X', 1000) y = kwargs.get('Y', 1000) @@ -1640,6 +1714,9 @@ class LOCellRange(object): def __getitem__(self, index): return LOCellRange(self.obj[index], self.doc) + def __contains__(self, item): + return item.in_range(self) + def _init_values(self): self._type_obj = self.obj.ImplementationName self._type_content = EMPTY @@ -1689,7 +1766,7 @@ class LOCellRange(object): self.obj.setFormula(data) else: self.obj.setString(data) - elif isinstance(data, (int, float)): + elif isinstance(data, (int, float, bool)): self.obj.setValue(data) elif isinstance(data, datetime.datetime): d = data.toordinal() @@ -1707,8 +1784,6 @@ class LOCellRange(object): return self.obj.getDataArray() @data.setter def data(self, values): - if isinstance(values, list): - values = tuple(values) self.obj.setDataArray(values) @property @@ -1716,8 +1791,6 @@ class LOCellRange(object): return self.obj.getFormulaArray() @formula.setter def formula(self, values): - if isinstance(values, list): - values = tuple(values) self.obj.setFormulaArray(values) @property @@ -1742,13 +1815,19 @@ class LOCellRange(object): cursor.collapseToSize(cols, rows) return LOCellRange(self.sheet[cursor.AbsoluteName].obj, self.doc) - def copy_from(self, rango): + def copy_from(self, rango, formula=False): data = rango if isinstance(rango, LOCellRange): - data = rango.data + if formula: + data = rango.formula + else: + data = rango.data rows = len(data) cols = len(data[0]) - self.to_size(rows, cols).data = data + if formula: + self.to_size(rows, cols).formula = data + else: + self.to_size(rows, cols).data = data return def copy_to(self, cell, formula=False): @@ -1759,6 +1838,10 @@ class LOCellRange(object): rango.data = self.data return + def copy(self, source): + self.sheet.obj.copyRange(self.address, source.range_address) + return + def offset(self, row=1, col=0): ra = self.obj.getRangeAddress() col = ra.EndColumn + col @@ -1816,6 +1899,10 @@ class LOCellRange(object): a = self.obj.getRangeAddressesAsString() return a + @property + def range_address(self): + return self.obj.getRangeAddress() + @property def current_region(self): cursor = self.sheet.get_cursor(self.obj[0,0]) @@ -1986,6 +2073,10 @@ class EventsListenerBase(unohelper.Base, XEventListener): self._name = name self._window = window + @property + def name(self): + return self._name + def disposing(self, event): self._controller = None if not self._window is None: @@ -2096,7 +2187,10 @@ class EventsItem(EventsListenerBase, XItemListener): pass def itemStateChanged(self, event): - pass + event_name = '{}_item_changed'.format(self.name) + if hasattr(self._controller, event_name): + getattr(self._controller, event_name)(event) + return class EventsItemRoadmap(EventsItem): @@ -2145,6 +2239,45 @@ class EventsKey(EventsListenerBase, XKeyListener): return +class EventsTab(EventsListenerBase, XTabListener): + + def __init__(self, controller, name): + super().__init__(controller, name) + + def activated(self, id): + event_name = '{}_activated'.format(self.name) + if hasattr(self._controller, event_name): + getattr(self._controller, event_name)(id) + return + + +class EventsGrid(EventsListenerBase, XGridDataListener, XGridSelectionListener): + + def __init__(self, controller, name): + super().__init__(controller, name) + + def dataChanged(self, event): + event_name = '{}_data_changed'.format(self.name) + if hasattr(self._controller, event_name): + getattr(self._controller, event_name)(event) + return + + def rowHeadingChanged(self, event): + pass + + def rowsInserted(self, event): + pass + + def rowsRemoved(self, evemt): + pass + + def selectionChanged(self, event): + event_name = '{}_selection_changed'.format(self.name) + if hasattr(self._controller, event_name): + getattr(self._controller, event_name)(event) + return + + class EventsKeyWindow(EventsListenerBase, XKeyListener): """ event.KeyChar @@ -2221,8 +2354,8 @@ class EventsWindow(EventsListenerBase, XTopWindowListener, XWindowListener): # ~ XWindowListener def windowResized(self, event): - # ~ sb = self._container.getControl('subcontainer') - # ~ sb.setPosSize(0, 0, event.Width, event.Height, SIZE) + sb = self._cls._subcont + sb.setPosSize(0, 0, event.Width, event.Height, SIZE) event_name = '{}_resized'.format(self._name) if hasattr(self._controller, event_name): getattr(self._controller, event_name)(event) @@ -2284,6 +2417,7 @@ class UnoBaseObject(object): @property def parent(self): + ps = self.obj.getContext().PosSize return self.obj.getContext() def _get_possize(self, name): @@ -2325,17 +2459,23 @@ class UnoBaseObject(object): return self._model.Width @width.setter def width(self, value): - self._model.Width = value + if hasattr(self.model, 'Width'): + self.model.Width = value + elif hasattr(self.obj, 'PosSize'): + self._set_possize('Width', value) @property def height(self): - if hasattr(self._model, 'Height'): - return self._model.Height + if hasattr(self.model, 'Height'): + return self.model.Height ps = self.obj.getPosSize() return ps.Height @height.setter def height(self, value): - self._model.Height = value + if hasattr(self.model, 'Height'): + self.model.Height = value + elif hasattr(self.obj, 'PosSize'): + self._set_possize('Height', value) @property def tag(self): @@ -2398,8 +2538,12 @@ class UnoBaseObject(object): def move(self, origin, x=0, y=5): if x: self.x = origin.x + origin.width + x + else: + self.x = origin.x if y: self.y = origin.y + origin.height + y + else: + self.y = origin.y return def possize(self, origin): @@ -2568,16 +2712,19 @@ class UnoGrid(UnoBaseObject): # ~ def format_columns(self, value): # ~ self._format_columns = value + @property + def value(self): + return self[self.column, self.row] + @property def data(self): return self._data @data.setter def data(self, values): # ~ self._data = values - self._gdm.removeAllRows() + self.clear() headings = tuple(range(1, len(values) + 1)) self._gdm.addRows(headings, values) - # ~ rows = range(grid_dm.RowCount) # ~ colors = [COLORS['GRAY'] if r % 2 else COLORS['WHITE'] for r in rows] # ~ grid.Model.RowBackgroundColors = tuple(colors) @@ -2617,6 +2764,10 @@ class UnoGrid(UnoBaseObject): row.append(d) return tuple(row) + def clear(self): + self._gdm.removeAllRows() + return + def add_row(self, data): # ~ self._data.append(data) data = self._validate_column(data) @@ -2626,18 +2777,17 @@ class UnoGrid(UnoBaseObject): def remove_row(self, row): self._gdm.removeRow(row) # ~ del self._data[row] - self._update_row_heading() + self.update_row_heading() return - def _update_row_heading(self): + def update_row_heading(self): for i in range(self.rows): self._gdm.updateRowHeading(i, i + 1) return def sort(self, column, asc=True): self._gdm.sortByColumn(column, asc) - # ~ self._data.sort(key=itemgetter(column), reverse=not asc) - self._update_row_heading() + self.update_row_heading() return def set_column_image(self, column, path): @@ -2685,7 +2835,6 @@ class UnoRoadmap(UnoBaseObject): class UnoTree(UnoBaseObject): - @catch_exception def __init__(self, obj, ): super().__init__(obj) self._tdm = None @@ -2738,6 +2887,119 @@ class UnoTree(UnoBaseObject): return +class UnoTab(UnoBaseObject): + + def __init__(self, obj): + super().__init__(obj) + self._events = None + + def __getitem__(self, index): + return self.get_sheet(index) + + @property + def current(self): + return self.obj.getActiveTabID() + @property + def active(self): + return self.current + + def get_sheet(self, id): + if isinstance(id, int): + sheet = self.obj.Controls[id-1] + else: + sheet = self.obj.getControl(id.lower()) + return sheet + + @property + def sheets(self): + return self._sheets + @sheets.setter + def sheets(self, values): + i = len(self.obj.Controls) + for title in values: + i += 1 + sheet = self.model.createInstance('com.sun.star.awt.UnoPageModel') + sheet.Title = title + self.model.insertByName('sheet{}'.format(i), sheet) + return + + def insert(self, title): + id = len(self.obj.Controls) + 1 + sheet = self.model.createInstance('com.sun.star.awt.UnoPageModel') + sheet.Title = title + self.model.insertByName('sheet{}'.format(id), sheet) + return id + + def remove(self, id): + sheet = self.get_sheet(id) + for control in sheet.getControls(): + sheet.Model.removeByName(control.Model.Name) + sheet.removeControl(control) + # ~ self._model.removeByName('page_{}'.format(ID)) + + self.obj.removeTab(id) + return + + def activate(self, id): + self.obj.activateTab(id) + return + + @property + def events(self): + return self._events + @events.setter + def events(self, controllers): + self._events = controllers + + def _special_properties(self, tipo, properties): + columns = properties.pop('Columns', ()) + if tipo == 'grid': + properties['ColumnModel'] = _set_column_model(columns) + if not 'Width' in properties: + properties['Width'] = self.width + if not 'Height' in properties: + properties['Height'] = self.height + elif tipo == 'button' and 'ImageURL' in properties: + properties['ImageURL'] = self._set_image_url(properties['ImageURL']) + elif tipo == 'roadmap': + if not 'Height' in properties: + properties['Height'] = self.height + if 'Title' in properties: + properties['Text'] = properties.pop('Title') + elif tipo == 'pages': + if not 'Width' in properties: + properties['Width'] = self.width + if not 'Height' in properties: + properties['Height'] = self.height + + return properties + + def add_control(self, id, properties): + tipo = properties.pop('Type').lower() + root = properties.pop('Root', '') + sheets = properties.pop('Sheets', ()) + properties = self._special_properties(tipo, properties) + + sheet = self.get_sheet(id) + sheet_model = sheet.getModel() + model = sheet_model.createInstance(get_control_model(tipo)) + set_properties(model, properties) + name = properties['Name'] + sheet_model.insertByName(name, model) + + control = sheet.getControl(name) + add_listeners(self.events, control, name) + control = get_custom_class(tipo, control) + + if tipo == 'tree' and root: + control.root = root + elif tipo == 'pages' and sheets: + control.sheets = sheets + + setattr(self, name, control) + return + + def get_custom_class(tipo, obj): classes = { 'label': UnoLabel, @@ -2748,7 +3010,7 @@ def get_custom_class(tipo, obj): 'link': UnoLabelLink, 'roadmap': UnoRoadmap, 'tree': UnoTree, - # ~ 'tab': UnoTab, + 'tab': UnoTab, # ~ 'image': UnoImage, # ~ 'radio': UnoRadio, # ~ 'groupbox': UnoGroupBox, @@ -2757,6 +3019,24 @@ def get_custom_class(tipo, obj): return classes[tipo](obj) +def get_control_model(control): + services = { + 'label': 'com.sun.star.awt.UnoControlFixedTextModel', + 'link': 'com.sun.star.awt.UnoControlFixedHyperlinkModel', + 'text': 'com.sun.star.awt.UnoControlEditModel', + 'listbox': 'com.sun.star.awt.UnoControlListBoxModel', + 'button': 'com.sun.star.awt.UnoControlButtonModel', + 'roadmap': 'com.sun.star.awt.UnoControlRoadmapModel', + 'grid': 'com.sun.star.awt.grid.UnoControlGridModel', + 'tree': 'com.sun.star.awt.tree.TreeControlModel', + 'groupbox': 'com.sun.star.awt.UnoControlGroupBoxModel', + 'image': 'com.sun.star.awt.UnoControlImageControlModel', + 'radio': 'com.sun.star.awt.UnoControlRadioButtonModel', + 'tab': 'com.sun.star.awt.UnoMultiPageModel', + } + return services[control] + + def add_listeners(events, control, name=''): listeners = { 'addActionListener': EventsButton, @@ -2764,6 +3044,7 @@ def add_listeners(events, control, name=''): 'addItemListener': EventsItem, 'addFocusListener': EventsFocus, 'addKeyListener': EventsKey, + 'addTabListener': EventsTab, } if hasattr(control, 'obj'): control = contro.obj @@ -2785,6 +3066,11 @@ def add_listeners(events, control, name=''): continue getattr(control, key)(listeners[key](events, name)) + + if is_grid: + controllers = EventsGrid(events, name) + control.addSelectionListener(controllers) + control.Model.GridDataModel.addGridDataListener(controllers) return @@ -3174,6 +3460,7 @@ class LOChart(object): chart_data.setData(data) chart_data.RowDescriptions = labels + # ~ Bug if tipo == 'Pie': chart.setDiagram(chart.createInstance(self.BASE.format('Bar'))) chart.setDiagram(chart.createInstance(self.BASE.format('Pie'))) @@ -3225,6 +3512,29 @@ class LOChart(object): return self +def _set_column_model(columns): + #~ https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1awt_1_1grid_1_1XGridColumn.html + column_model = create_instance('com.sun.star.awt.grid.DefaultGridColumnModel', True) + for column in columns: + grid_column = create_instance('com.sun.star.awt.grid.GridColumn', True) + for k, v in column.items(): + setattr(grid_column, k, v) + column_model.addColumn(grid_column) + return column_model + + +def _set_image_url(image, id_extension=''): + if exists_path(image): + return _path_url(image) + + if not id_extension: + return '' + + path = get_path_extension(id_extension) + path = join(path, DIR['images'], image) + return _path_url(path) + + class LODialog(object): def __init__(self, **properties): @@ -3278,6 +3588,7 @@ class LODialog(object): 'stardiv.Toolkit.UnoButtonControl': 'button', 'stardiv.Toolkit.UnoListBoxControl': 'listbox', 'stardiv.Toolkit.UnoRoadmapControl': 'roadmap', + 'stardiv.Toolkit.UnoMultiPageControl': 'pages', } return types[name] @@ -3375,6 +3686,7 @@ class LODialog(object): 'groupbox': 'com.sun.star.awt.UnoControlGroupBoxModel', 'image': 'com.sun.star.awt.UnoControlImageControlModel', 'radio': 'com.sun.star.awt.UnoControlRadioButtonModel', + 'pages': 'com.sun.star.awt.UnoMultiPageModel', } return services[control] @@ -3410,11 +3722,18 @@ class LODialog(object): properties['Height'] = self.height if 'Title' in properties: properties['Text'] = properties.pop('Title') + elif tipo == 'tab': + if not 'Width' in properties: + properties['Width'] = self.width + if not 'Height' in properties: + properties['Height'] = self.height + return properties def add_control(self, properties): tipo = properties.pop('Type').lower() root = properties.pop('Root', '') + sheets = properties.pop('Sheets', ()) properties = self._special_properties(tipo, properties) model = self.model.createInstance(self._get_control_model(tipo)) @@ -3427,6 +3746,9 @@ class LODialog(object): if tipo == 'tree' and root: control.root = root + elif tipo == 'pages' and sheets: + control.sheets = sheets + control.events = self.events setattr(self, name, control) return @@ -3459,13 +3781,26 @@ class LODialog(object): class LOWindow(object): + EMPTY = b""" + +""" def __init__(self, **kwargs): self._events = None self._menu = None self._container = None + self._id_extension = '' self._obj = self._create(kwargs) + @property + def id_extension(self): + return self._id_extension + @id_extension.setter + def id_extension(self, value): + global ID_EXTENSION + ID_EXTENSION = value + self._id_extension = value + def _create(self, properties): ps = ( properties.get('X', 0), @@ -3476,6 +3811,7 @@ class LOWindow(object): self._title = properties.get('Title', TITLE) self._create_frame(ps) self._create_container(ps) + self._create_subcontainer(ps) # ~ self._create_splitter(ps) return @@ -3507,6 +3843,31 @@ class LOWindow(object): self._frame.setComponent(self._container, None) return + def _create_subcontainer(self, ps): + service = 'com.sun.star.awt.ContainerWindowProvider' + cwp = create_instance(service, True) + with get_temp_file() as f: + f.write(self.EMPTY) + f.flush() + subcont = cwp.createContainerWindow( + _path_url(f.name), '', self._container.getPeer(), None) + + # ~ service = 'com.sun.star.awt.UnoControlDialog' + # ~ subcont2 = create_instance(service, True) + # ~ service = 'com.sun.star.awt.UnoControlDialogModel' + # ~ model = create_instance(service, True) + # ~ service = 'com.sun.star.awt.UnoControlContainer' + # ~ context = create_instance(service, True) + # ~ subcont2.setModel(model) + # ~ subcont2.setContext(context) + # ~ subcont2.createPeer(self._toolkit, self._container.getPeer()) + + subcont.setPosSize(0, 0, 500, 500, POSSIZE) + subcont.setVisible(True) + self._container.addControl('subcont', subcont) + self._subcont = subcont + return + def _get_base_control(self, tipo): services = { 'label': 'com.sun.star.awt.UnoControlFixedText', @@ -3520,25 +3881,50 @@ class LOWindow(object): 'radio': 'com.sun.star.awt.UnoControlRadioButton', 'tree': 'com.sun.star.awt.tree.TreeControl', 'grid': 'com.sun.star.awt.grid.UnoControlGrid', + 'tab': 'com.sun.star.awt.tab.UnoControlTabPage', } return services[tipo] + def _special_properties(self, tipo, properties): + columns = properties.pop('Columns', ()) + if tipo == 'grid': + properties['ColumnModel'] = self._set_column_model(columns) + elif tipo == 'button' and 'ImageURL' in properties: + properties['ImageURL'] = _set_image_url( + properties['ImageURL'], self.id_extension) + elif tipo == 'roadmap': + if not 'Height' in properties: + properties['Height'] = self.height + if 'Title' in properties: + properties['Text'] = properties.pop('Title') + elif tipo == 'tab': + if not 'Width' in properties: + properties['Width'] = self.width - 20 + if not 'Height' in properties: + properties['Height'] = self.height - 20 + + return properties + def add_control(self, properties): tipo = properties.pop('Type').lower() - base = self._get_base_control(tipo) - obj = create_instance(base, True) - model = create_instance('{}Model'.format(base), True) + root = properties.pop('Root', '') + sheets = properties.pop('Sheets', ()) + + properties = self._special_properties(tipo, properties) + model = self._subcont.Model.createInstance(get_control_model(tipo)) set_properties(model, properties) - obj.setModel(model) - x = properties.get('X', 5) - y = properties.get('Y', 5) - w = properties.get('Width', 200) - h = properties.get('Height', 25) - obj.setPosSize(x, y, w, h, POSSIZE) name = properties['Name'] - self._container.addControl(name, obj) - add_listeners(self.events, obj, name) - control = get_custom_class(tipo, obj) + self._subcont.Model.insertByName(name, model) + control = self._subcont.getControl(name) + add_listeners(self.events, control, name) + control = get_custom_class(tipo, control) + + if tipo == 'tree' and root: + control.root = root + elif tipo == 'tab' and sheets: + control.sheets = sheets + control.events = self.events + setattr(self, name, control) return @@ -3834,8 +4220,12 @@ def json_loads(data): def get_path_extension(id): + path = '' pip = CTX.getValueByName('/singletons/com.sun.star.deployment.PackageInformationProvider') - path = _path_system(pip.getPackageLocation(id)) + try: + path = _path_system(pip.getPackageLocation(id)) + except Exception as e: + error(e) return path @@ -3979,7 +4369,7 @@ def open_file(path): if IS_WIN: os.startfile(path) else: - subprocess.Popen(['xdg-open', path]) + pid = subprocess.Popen(['xdg-open', path]).pid return @@ -4032,23 +4422,29 @@ def popen(command, stdin=None): yield (e.errno, e.strerror) -def url_open(url, options={}, json=False): +def url_open(url, options={}, verify=True, json=False): data = '' + err = '' req = Request(url) try: - response = urlopen(req) - # ~ response.info() + if verify: + response = urlopen(req) + else: + context = ssl._create_unverified_context() + response = urlopen(req, context=context) except HTTPError as e: error(e) + err = str(e) except URLError as e: error(e.reason) + err = str(e.reason) else: if json: data = json_loads(response.read()) else: data = response.read() - return data + return data, err def run(command, wait=False): @@ -5025,8 +5421,6 @@ class LIBOServer(object): return instance - - # ~ controls = { # ~ 'CheckBox': 'com.sun.star.awt.UnoControlCheckBoxModel', # ~ 'ComboBox': 'com.sun.star.awt.UnoControlComboBoxModel', diff --git a/zaz.py b/zaz.py index 2cac1bc..9cad0c8 100644 --- a/zaz.py +++ b/zaz.py @@ -33,6 +33,7 @@ from xml.dom.minidom import parseString from conf import ( DATA, DIRS, + DOMAIN, EXTENSION, FILES, INFO, @@ -138,6 +139,19 @@ def _save(path, data): return +def _get_files(path, filters=''): + paths = [] + if filters in ('*', '*.*'): + filters = '' + for folder, _, files in os.walk(path): + if filters: + pattern = re.compile(r'\.(?:{})$'.format(filters), re.IGNORECASE) + paths += [_join(folder, f) for f in files if pattern.search(f)] + else: + paths += files + return paths + + def _compress_oxt(): log.info('Compress OXT extension...') @@ -435,8 +449,50 @@ def _embed(args): return +def _locales(args): + EASYMACRO = 'easymacro.py' + + if args.files: + files = args.files.split(',') + else: + files = _get_files(DIRS['source'], 'py') + paths = ' '.join([f for f in files if not EASYMACRO in f]) + path_pot = _join(DIRS['source'], DIRS['locales'], '{}.pot'.format(DOMAIN)) + call([PATHS['gettext'], '-o', path_pot, paths]) + log.info('POT generate successfully...') + return + + +def _update(): + path_locales = _join(DIRS['source'], DIRS['locales']) + path_pot = _join(DIRS['source'], DIRS['locales'], '{}.pot'.format(DOMAIN)) + if not _exists(path_pot): + log.error('Not exists file POT...') + return + + files = _get_files(path_locales, 'po') + if not files: + log.error('First, generate files PO...') + return + + for f in files: + call([PATHS['msgmerge'], '-U', f, path_pot]) + log.info('\tUpdate: {}'.format(f)) + + log.info('Locales update successfully...') + return + + def main(args): + if args.update: + _update() + return + + if args.locales: + _locales(args) + return + if args.embed: _embed(args) return @@ -469,6 +525,10 @@ def _process_command_line_arguments(): default=False, required=False) parser.add_argument('-d', '--document', dest='document', default='') parser.add_argument('-f', '--files', dest='files', default='') + parser.add_argument('-l', '--locales', dest='locales', action='store_true', + default=False, required=False) + parser.add_argument('-u', '--update', dest='update', action='store_true', + default=False, required=False) return parser.parse_args()