Merge pull request 'zim: version bump to 0.73.5' (#44) from kapsh/hasufell-repository:zim into master
Reviewed-on: hasufell/hasufell-repository#44
This commit is contained in:
		
						commit
						e9338bf434
					
				| @ -1,27 +0,0 @@ | ||||
| Upstream: sent https://github.com/zim-desktop-wiki/zim-desktop-wiki/pull/1261 | ||||
| 
 | ||||
| From 1e63570eb941b985dc70df31043c7f4279c6a935 Mon Sep 17 00:00:00 2001 | ||||
| From: Alexander Kapshuna <kapsh@kap.sh> | ||||
| Date: Fri, 18 Sep 2020 01:15:16 +0300 | ||||
| Subject: [PATCH] Fix reading preformatted text under Python 3.9 | ||||
| 
 | ||||
| ---
 | ||||
|  zim/formats/__init__.py | 2 +- | ||||
|  1 file changed, 1 insertion(+), 1 deletion(-) | ||||
| 
 | ||||
| diff --git a/zim/formats/__init__.py b/zim/formats/__init__.py
 | ||||
| index e1149f7f..f22b0b0b 100644
 | ||||
| --- a/zim/formats/__init__.py
 | ||||
| +++ b/zim/formats/__init__.py
 | ||||
| @@ -822,7 +822,7 @@ class ParseTreeBuilder(Builder):
 | ||||
|  		self._last_char = None | ||||
| 
 | ||||
|  	def append(self, tag, attrib=None, text=None): | ||||
| -		attrib = attrib.copy() if attrib is not None else None
 | ||||
| +		attrib = attrib.copy() if attrib is not None else {}
 | ||||
|  		if tag in BLOCK_LEVEL: | ||||
|  			if text and not text.endswith('\n'): | ||||
|  				text += '\n' | ||||
| --
 | ||||
| 2.28.0 | ||||
| 
 | ||||
| @ -1,239 +0,0 @@ | ||||
| Upstream: master | ||||
| 
 | ||||
| From 0c7d355a76236b0c687fb7c59cd974c2c7f35657 Mon Sep 17 00:00:00 2001 | ||||
| From: Robin Lee <cheeselee@fedoraproject.org> | ||||
| Date: Thu, 10 Sep 2020 21:31:22 +0800 | ||||
| Subject: [PATCH] Replace usage of `getchildren` and `getiterator` with `list` | ||||
|  or `iter` | ||||
| 
 | ||||
| Methods getchildren() and getiterator() of classes ElementTree and Element in | ||||
| the ElementTree module have been deprecated since Python 3.2 and removed since | ||||
| Python 3.9. | ||||
| 
 | ||||
| Fixes #1258 | ||||
| Closes #1259 | ||||
| ---
 | ||||
|  tests/__init__.py       |  2 +- | ||||
|  zim/formats/__init__.py | 44 ++++++++++++++++++++--------------------- | ||||
|  zim/gui/pageview.py     |  2 +- | ||||
|  3 files changed, 24 insertions(+), 24 deletions(-) | ||||
| 
 | ||||
| diff --git a/tests/__init__.py b/tests/__init__.py
 | ||||
| index 20e5b8df..88f87f87 100644
 | ||||
| --- a/tests/__init__.py
 | ||||
| +++ b/tests/__init__.py
 | ||||
| @@ -559,7 +559,7 @@ class _TestData(object):
 | ||||
|  		tree = etree.ElementTree(file=root + '/tests/data/notebook-wiki.xml') | ||||
| 
 | ||||
|  		test_data = [] | ||||
| -		for node in tree.getiterator(tag='page'):
 | ||||
| +		for node in tree.iter(tag='page'):
 | ||||
|  			name = node.attrib['name'] | ||||
|  			text = str(node.text.lstrip('\n')) | ||||
|  			test_data.append((name, text)) | ||||
| diff --git a/zim/formats/__init__.py b/zim/formats/__init__.py
 | ||||
| index 9e00c169..e1149f7f 100644
 | ||||
| --- a/zim/formats/__init__.py
 | ||||
| +++ b/zim/formats/__init__.py
 | ||||
| @@ -262,7 +262,7 @@ class ParseTree(object):
 | ||||
|  		'''Returns True if the tree contains any content at all.''' | ||||
|  		root = self._etree.getroot() | ||||
|  		return root is not None and ( | ||||
| -			bool(root.getchildren()) or (root.text and not root.text.isspace())
 | ||||
| +			bool(list(root)) or (root.text and not root.text.isspace())
 | ||||
|  		) | ||||
| 
 | ||||
|  	@property | ||||
| @@ -284,14 +284,14 @@ class ParseTree(object):
 | ||||
|  		myroot = self._etree.getroot() | ||||
|  		otherroot = tree._etree.getroot() | ||||
|  		if otherroot.text: | ||||
| -			children = myroot.getchildren()
 | ||||
| +			children = list(myroot)
 | ||||
|  			if children: | ||||
|  				last = children[-1] | ||||
|  				last.tail = (last.tail or '') + otherroot.text | ||||
|  			else: | ||||
|  				myroot.text = (myroot.text or '') + otherroot.text | ||||
| 
 | ||||
| -		for element in otherroot.getchildren():
 | ||||
| +		for element in iter(otherroot):
 | ||||
|  			myroot.append(element) | ||||
| 
 | ||||
|  		return self | ||||
| @@ -312,7 +312,7 @@ class ParseTree(object):
 | ||||
| 
 | ||||
|  		# HACK: Force sorting of attrib - else change in python3.8 breaks test cases | ||||
|  		# Ensure all attrib are string, else ElementTree fails | ||||
| -		for element in self._etree.getiterator('*'):
 | ||||
| +		for element in self._etree.iter('*'):
 | ||||
|  			myattrib = element.attrib.copy() | ||||
|  			element.attrib.clear() | ||||
|  			for key in sorted(myattrib.keys()): | ||||
| @@ -342,8 +342,8 @@ class ParseTree(object):
 | ||||
|  		from zim.notebook.page import HRef # XXX | ||||
|  		seen = set() | ||||
|  		for elt in itertools.chain( | ||||
| -			self._etree.getiterator(LINK),
 | ||||
| -			self._etree.getiterator(IMAGE)
 | ||||
| +			self._etree.iter(LINK),
 | ||||
| +			self._etree.iter(IMAGE)
 | ||||
|  		): | ||||
|  			href = elt.attrib.get('href') | ||||
|  			if href and href not in seen: | ||||
| @@ -359,7 +359,7 @@ class ParseTree(object):
 | ||||
|  		@returns: yields an unordered list of tag names | ||||
|  		''' | ||||
|  		seen = set() | ||||
| -		for elt in self._etree.getiterator(TAG):
 | ||||
| +		for elt in self._etree.iter(TAG):
 | ||||
|  			name = elt.text | ||||
|  			if not name in seen: | ||||
|  				seen.add(name) | ||||
| @@ -367,7 +367,7 @@ class ParseTree(object):
 | ||||
| 
 | ||||
|  	def _get_heading_element(self, level=1): | ||||
|  		root = self._etree.getroot() | ||||
| -		children = root.getchildren()
 | ||||
| +		children = list(root)
 | ||||
|  		if root.text and not root.text.isspace(): | ||||
|  			return None | ||||
| 
 | ||||
| @@ -424,7 +424,7 @@ class ParseTree(object):
 | ||||
|  		''' | ||||
|  		root = self._etree.getroot() | ||||
|  		roottext = root.text and not root.text.isspace() | ||||
| -		children = root.getchildren()
 | ||||
| +		children = list(root)
 | ||||
| 
 | ||||
|  		if children and not roottext: | ||||
|  			first = children[0] | ||||
| @@ -442,7 +442,7 @@ class ParseTree(object):
 | ||||
|  		and a max depth. | ||||
|  		''' | ||||
|  		path = [] | ||||
| -		for heading in self._etree.getiterator('h'):
 | ||||
| +		for heading in self._etree.iter('h'):
 | ||||
|  			level = int(heading.attrib['level']) | ||||
|  			# find parent header in path using old level | ||||
|  			while path and path[-1][0] >= level: | ||||
| @@ -461,11 +461,11 @@ class ParseTree(object):
 | ||||
|  		adds a '_src_file' attribute to the elements with the full file path. | ||||
|  		''' | ||||
|  		if notebook is None: | ||||
| -			for element in self._etree.getiterator('img'):
 | ||||
| +			for element in self._etree.iter('img'):
 | ||||
|  				filepath = element.attrib['src'] | ||||
|  				element.attrib['_src_file'] = File(filepath) | ||||
|  		else: | ||||
| -			for element in self._etree.getiterator('img'):
 | ||||
| +			for element in self._etree.iter('img'):
 | ||||
|  				filepath = element.attrib['src'] | ||||
|  				element.attrib['_src_file'] = notebook.resolve_file(element.attrib['src'], path) | ||||
| 
 | ||||
| @@ -473,7 +473,7 @@ class ParseTree(object):
 | ||||
|  		'''Undo effect of L{resolve_images()}, mainly intended for | ||||
|  		testing. | ||||
|  		''' | ||||
| -		for element in self._etree.getiterator('img'):
 | ||||
| +		for element in self._etree.iter('img'):
 | ||||
|  			if '_src_file' in element.attrib: | ||||
|  				element.attrib.pop('_src_file') | ||||
| 
 | ||||
| @@ -481,7 +481,7 @@ class ParseTree(object):
 | ||||
|  		'''Calls encode_url() on all links that contain urls. | ||||
|  		See zim.parsing for details. Modifies the parse tree. | ||||
|  		''' | ||||
| -		for link in self._etree.getiterator('link'):
 | ||||
| +		for link in self._etree.iter('link'):
 | ||||
|  			href = link.attrib['href'] | ||||
|  			if href and is_url_re.match(href): | ||||
|  				link.attrib['href'] = url_encode(href, mode=mode) | ||||
| @@ -492,7 +492,7 @@ class ParseTree(object):
 | ||||
|  		'''Calls decode_url() on all links that contain urls. | ||||
|  		See zim.parsing for details. Modifies the parse tree. | ||||
|  		''' | ||||
| -		for link in self._etree.getiterator('link'):
 | ||||
| +		for link in self._etree.iter('link'):
 | ||||
|  			href = link.attrib['href'] | ||||
|  			if href and is_url_re.match(href): | ||||
|  				link.attrib['href'] = url_decode(href, mode=mode) | ||||
| @@ -502,7 +502,7 @@ class ParseTree(object):
 | ||||
|  	def count(self, text): | ||||
|  		'''Returns the number of occurences of 'text' in this tree.''' | ||||
|  		count = 0 | ||||
| -		for element in self._etree.getiterator():
 | ||||
| +		for element in self._etree.iter():
 | ||||
|  			if element.text: | ||||
|  				count += element.text.count(text) | ||||
|  			if element.tail: | ||||
| @@ -515,7 +515,7 @@ class ParseTree(object):
 | ||||
|  		in this tree. | ||||
|  		''' | ||||
|  		count = 0 | ||||
| -		for element in self._etree.getiterator():
 | ||||
| +		for element in self._etree.iter():
 | ||||
|  			if element.text: | ||||
|  				newstring, n = regex.subn('', element.text) | ||||
|  				count += n | ||||
| @@ -535,7 +535,7 @@ class ParseTree(object):
 | ||||
|  			elif element.tag in ('li', 'h'): | ||||
|  				return True # implicit newline | ||||
|  			else: | ||||
| -				children = element.getchildren()
 | ||||
| +				children = list(element)
 | ||||
|  				if children: | ||||
|  					return self._get_element_ends_with_newline(children[-1]) # recurs | ||||
|  				elif element.text: | ||||
| @@ -586,7 +586,7 @@ class ParseTree(object):
 | ||||
|  		@param tag: tag name | ||||
|  		@returns: yields L{Node} objects | ||||
|  		''' | ||||
| -		for elt in self._etree.getiterator(tag):
 | ||||
| +		for elt in self._etree.iter(tag):
 | ||||
|  			yield Element.new_from_etree(elt) | ||||
| 
 | ||||
|  	def replace(self, tag, func): | ||||
| @@ -932,7 +932,7 @@ class OldParseTreeBuilder(object):
 | ||||
|  		if len(self._stack) > 1 and not ( | ||||
|  			tag in (IMAGE, OBJECT, HEADDATA, TABLEDATA) | ||||
|  			or (self._last.text and not self._last.text.isspace()) | ||||
| -			or self._last.getchildren()
 | ||||
| +			or bool(list(self._last))
 | ||||
|  		): | ||||
|  			# purge empty tags | ||||
|  			if self._last.text and self._last.text.isspace(): | ||||
| @@ -940,7 +940,7 @@ class OldParseTreeBuilder(object):
 | ||||
| 
 | ||||
|  			empty = self._stack.pop() | ||||
|  			self._stack[-1].remove(empty) | ||||
| -			children = self._stack[-1].getchildren()
 | ||||
| +			children = list(self._stack[-1])
 | ||||
|  			if children: | ||||
|  				self._last = children[-1] | ||||
|  				if not self._last.tail is None: | ||||
| @@ -1053,7 +1053,7 @@ class OldParseTreeBuilder(object):
 | ||||
|  	def _append_to_previous(self, text): | ||||
|  		'''Add text before current element''' | ||||
|  		parent = self._stack[-2] | ||||
| -		children = parent.getchildren()[:-1]
 | ||||
| +		children = list(parent)[:-1]
 | ||||
|  		if children: | ||||
|  			if children[-1].tail: | ||||
|  				children[-1].tail = children[-1].tail + text | ||||
| diff --git a/zim/gui/pageview.py b/zim/gui/pageview.py
 | ||||
| index 84fe99b4..c2c29cc5 100644
 | ||||
| --- a/zim/gui/pageview.py
 | ||||
| +++ b/zim/gui/pageview.py
 | ||||
| @@ -857,7 +857,7 @@ class TextBuffer(Gtk.TextBuffer):
 | ||||
|  				if not iter.starts_line(): | ||||
|  					self.insert_at_cursor('\n') | ||||
| 
 | ||||
| -		for element in node.getchildren():
 | ||||
| +		for element in iter(node):
 | ||||
|  			if element.tag in ('p', 'div'): | ||||
|  				# No force line start here on purpose | ||||
|  				if 'indent' in element.attrib: | ||||
| --
 | ||||
| 2.28.0 | ||||
| 
 | ||||
| @ -41,11 +41,6 @@ RESTRICT="test" | ||||
| 
 | ||||
| WORK=${WORKBASE}/${PNV/_rc/-rc} | ||||
| 
 | ||||
| DEFAULT_SRC_PREPARE_PATCHES=( | ||||
|     "${FILES}"/Fix-reading-preformatted-text-under-Python-3.9.patch | ||||
|     "${FILES}"/Replace-usage-of-getchildren-and-getiterator-with-li.patch | ||||
| ) | ||||
| 
 | ||||
| pkg_setup() { | ||||
|     unset DISPLAY  # tries to access X socket | ||||
| } | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user