summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/py-nltk
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/py-nltk')
-rw-r--r--var/spack/repos/builtin/packages/py-nltk/package.py3
-rw-r--r--var/spack/repos/builtin/packages/py-nltk/resourcegen.py56
2 files changed, 35 insertions, 24 deletions
diff --git a/var/spack/repos/builtin/packages/py-nltk/package.py b/var/spack/repos/builtin/packages/py-nltk/package.py
index 3b8e9bf3f3..65fa9eae6c 100644
--- a/var/spack/repos/builtin/packages/py-nltk/package.py
+++ b/var/spack/repos/builtin/packages/py-nltk/package.py
@@ -4,6 +4,9 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+from spack.package import *
+
+
class PyNltk(PythonPackage):
"""The Natural Language Toolkit (NLTK) is a Python package for
natural language processing."""
diff --git a/var/spack/repos/builtin/packages/py-nltk/resourcegen.py b/var/spack/repos/builtin/packages/py-nltk/resourcegen.py
index 7a1fa49a3c..d2def9fa0b 100644
--- a/var/spack/repos/builtin/packages/py-nltk/resourcegen.py
+++ b/var/spack/repos/builtin/packages/py-nltk/resourcegen.py
@@ -3,31 +3,39 @@
# Helper script for maintainers to autogenerate resources for py-nltk
#
import hashlib
+import sys
import urllib.request
import xml.etree.ElementTree
+from typing import Optional
+url = None # type: Optional[str]
url = 'https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/index.xml'
-document = urllib.request.urlopen(url).read()
-tree = xml.etree.ElementTree.fromstring(document)
-packages = tree.findall('./packages/package')
-for package in packages:
- url = package.get('url')
- name = package.get('id')
- subdir = package.get('subdir')
- packagebody = urllib.request.urlopen(url).read()
- meta_checksum = package.get('checksum')
- loaded_checksum = hashlib.md5(packagebody).hexdigest()
- if (meta_checksum == loaded_checksum):
- output_checksum = hashlib.sha256(packagebody).hexdigest()
- print("""
- resource(name='{0}',
- url='{1}',
- when='+data',
- sha256='{2}',
- destination='nltk_data/{3}',
- placement='{0}')""".format(name,
- url,
- output_checksum,
- subdir))
- else:
- print("""bad {0}""".format(url))
+if url is not None:
+ document = urllib.request.urlopen(url).read()
+ tree = xml.etree.ElementTree.fromstring(document)
+ packages = tree.findall('./packages/package')
+ for package in packages:
+ url = package.get('url')
+ name = package.get('id')
+ subdir = package.get('subdir')
+ if url is None:
+ continue
+ packagebody = urllib.request.urlopen(url).read()
+ meta_checksum = package.get('checksum')
+ loaded_checksum = hashlib.md5(packagebody).hexdigest()
+ if (meta_checksum == loaded_checksum):
+ output_checksum = hashlib.sha256(packagebody).hexdigest()
+ print("""
+ resource(name='{0}',
+ url='{1}',
+ when='+data',
+ sha256='{2}',
+ destination='nltk_data/{3}',
+ placement='{0}')""".format(name,
+ url,
+ output_checksum,
+ subdir))
+ else:
+ print("""bad {0}""".format(url))
+else:
+ sys.exit(1)