Commit 5244de67 authored by Fabrice  ALLAIN's avatar Fabrice ALLAIN
Browse files

Updated DTD file

parent 74b5ef68
# Created by .ignore support plugin (hsz.mobi)
*.pyc
.venv
.idea
examples-dev/out
################################################################################
# PYTHON #
################################################################################
# Byte-compiled / optimized / DLL files
################################################################################
__pycache__/
*.py[cod]
*$py.class
# C extensions
################################################################################
*.so
# Distribution / packaging
################################################################################
.Python
build/
develop-eggs/
dist/
*.egg-info/
downloads/
eggs/
.eggs/
docs.old*
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
# PyInstaller
################################################################################# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
################################################################################
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
################################################################################
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
# Translations
################################################################################
*.mo
*.pot
# Django stuff
################################################################################
staticfiles/
*/migrations/*
!*/migrations/__init__.py
# Flask stuff
################################################################################
instance/
.webassets-cache
# Scrapy stuff
################################################################################
.scrapy
# Sphinx documentation
################################################################################
docs/_build/
docs.old/
docs/_static/
docs/_templates/
.svn/
examples-dev/out
venv*/
# PyBuilder
################################################################################
target/
# Jupyter Notebook
################################################################################
.ipynb_checkpoints
# pyenv
################################################################################
.python-version
# celery beat schedule file
################################################################################
celerybeat-schedule
# SageMath parsed files
################################################################################
*.sage.py
# Environments
################################################################################
.env
.venv
env/
venv/
ENV/
# Spyder project settings
################################################################################
.spyderproject
.spyproject
# Rope project settings
################################################################################
.ropeproject
# mkdocs documentation
################################################################################
/site
# mypy
################################################################################
.mypy_cache/
################################################################################
# NODE #
################################################################################
# Logs
################################################################################logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Runtime data
################################################################################
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
################################################################################
lib-cov
# Coverage directory used by tools like istanbul
################################################################################
coverage
# nyc test coverage
################################################################################
.nyc_output
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
################################################################################
.grunt
# Bower dependency directory (https://bower.io/)
################################################################################
bower_components
# node-waf configuration
################################################################################
.lock-wscript
# Compiled binary addons (http://nodejs.org/api/addons.html)
################################################################################
build/Release
# Dependency directories
################################################################################
node_modules/
jspm_packages/
# Typescript v1 declaration files
################################################################################
typings/
# Optional npm cache directory
################################################################################
.npm
# Optional eslint cache
################################################################################
.eslintcache
# Optional REPL history
################################################################################
.node_repl_history
# Output of 'npm pack'
################################################################################
*.tgz
# Yarn Integrity file
################################################################################
.yarn-integrity
################################################################################
# LINUX #
################################################################################
*~
# temporary files which can be created if a process still has a handle open of a deleted file
################################################################################
.fuse_hidden*
# KDE directory preferences
################################################################################
.directory
# Linux trash folder which might appear on any partition or disk
################################################################################
.Trash-*
# .nfs files are created when an open file is removed but is still being accessed
################################################################################
.nfs*
################################################################################
# VISUALSTUDIOCODE #
################################################################################
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
################################################################################
# JETBRAINS #
################################################################################
# Provided default Pycharm Run/Debug Configurations should be tracked by git
# In case of local modifications made by Pycharm, use update-index command
# for each changed file, like this:
# git update-index --assume-unchanged .idea/aria_web.iml
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
# TODO: remove line below if we want to track pycharm run/debug
.idea/
# User-specific stuff:
################################################################################
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/dictionaries
# Sensitive or high-churn files:
################################################################################
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.xml
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
# Pycharm
################################################################################
.pycharm-bash
# Gradle:
################################################################################
.idea/**/gradle.xml
.idea/**/libraries
# CMake
################################################################################
cmake-build-debug/
# Mongo Explorer plugin:
################################################################################
.idea/**/mongoSettings.xml
## File-based project format:
################################################################################
*.iws
## Plugin-specific files:
################################################################################
# IntelliJ
################################################################################
out/
# mpeltonen/sbt-idea plugin
################################################################################
.idea_modules/
# JIRA plugin
################################################################################
atlassian-ide-plugin.xml
# Cursive Clojure plugin
################################################################################
.idea/replstate.xml
# Crashlytics plugin (for Android Studio and IntelliJ)
################################################################################
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties
################################################################################
### Windows template
################################################################################
# Windows thumbnail cache files
################################################################################
Thumbs.db
ehthumbs.db
ehthumbs_vista.db
# Dump file
################################################################################
*.stackdump
# Folder config file
################################################################################
Desktop.ini
# Recycle Bin used on file shares
################################################################################
$RECYCLE.BIN/
# Windows Installer files
################################################################################
*.cab
*.msi
*.msm
*.msp
# Windows shortcuts
################################################################################
*.lnk
################################################################################
### macOS template
################################################################################
# General
################################################################################
*.DS_Store
.AppleDouble
.LSOverride
# Icon must end with two \r
################################################################################
Icon
# Thumbnails
################################################################################
._*
# Files that might appear in the root of a volume
################################################################################
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# Directories potentially created on remote AFP share
################################################################################
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
################################################################################
### SublimeText template
################################################################################
# Cache files for Sublime Text
################################################################################
*.tmlanguage.cache
*.tmPreferences.cache
*.stTheme.cache
# Workspace files are user-specific
################################################################################
*.sublime-workspace
# Project files should be checked into the repository, unless a significant
# proportion of contributors will probably not be using Sublime Text
# *.sublime-project
# SFTP configuration file
################################################################################
sftp-config.json
# Package control specific files
################################################################################
Package Control.last-run
Package Control.ca-list
Package Control.ca-bundle
Package Control.system-ca-bundle
Package Control.cache/
Package Control.ca-certs/
Package Control.merged-ca-bundle
Package Control.user-ca-bundle
oscrypto-ca-bundle.crt
bh_unicode_properties.cache
# Sublime-github package stores a github token in this file
# https://packagecontrol.io/packages/sublime-github
GitHub.sublime-settings
################################################################################
### Vim template
################################################################################
# Swap
################################################################################
[._]*.s[a-v][a-z]
[._]*.sw[a-p]
[._]s[a-v][a-z]
[._]sw[a-p]
# Session
################################################################################
Session.vim
# Temporary
################################################################################
.netrwhist
# Auto-generated tag files
################################################################################
tags
################################################################################
### VirtualEnv template
################################################################################
# Virtualenv
# http://iamzed.com/2009/05/07/a-primer-on-virtualenv/
################################################################################
[Bb]in
[Ii]nclude
[Ll]ib
[Ll]ib64
[Ll]ocal
[Ss]cripts
pyvenv.cfg
pip-selfcheck.json
################################################################################
# ECLIPSE
################################################################################
.project
.pydevproject
# TODO: remove line below if we want to keep eclipse metadata
.settings/
......@@ -825,6 +825,7 @@ def convert_data(filename, create_template=0, use_ccpn=0):
converter.convert(filename)
# TODO: Smarter project template (the actual template is hard coded)
def write_project_template(filename):
"""
......
<!DOCTYPE project SYSTEM "project1.0.dtd">
Path<!DOCTYPE project SYSTEM "project1.0.dtd">
<project name="${project_name}" version="1.0" author="" date="${date}" description="" comment="" references="" working_directory="${working_directory}" temp_root="${temp_root}" run="${runid}" file_root="${file_root}" cache="yes" cleanup="yes">
<data>
<ccpn_model filename=""/>
......
from __future__ import print_function
"""
ARIA -- Ambiguous Restraints for Iterative Assignment
......@@ -28,33 +26,34 @@ $Revision: 1.1.1.1 $
$Date: 2010/03/23 15:27:24 $
"""
from __future__ import print_function
import re
from .ariabase import YES, NO
def quote(pattern):
def quote(pattern):
if type(pattern).__name__ == 'SRE_Pattern':
return '(\'%s\'|"%s")' % (pattern.pattern, pattern.pattern)
else:
return '(\'%s\'|"%s")' % (pattern, pattern)
CHAR = re.compile('(.|\n)')
CHAR_DATA = re.compile('[^<&]*')
NOT_CHAR_DATA = re.compile('[^<&]*\]\]>[^<&]*')
LETTER = re.compile('[a-zA-Z]')
DIGIT = re.compile('[0-9]')
SPACE = re.compile('\s+')
OPTIONAL_SPACE = re.compile('\s*')
CHAR = re.compile('(.|\n)')
CHAR_DATA = re.compile('[^<&]*')
NOT_CHAR_DATA = re.compile('[^<&]*\]\]>[^<&]*')
LETTER = re.compile('[a-zA-Z]')
DIGIT = re.compile('[0-9]')
SPACE = re.compile('\s+')
OPTIONAL_SPACE = re.compile('\s*')
ATTRIBUTE_VALUE = re.compile('("[^"]*"|\'[^\']*\')')
COMMENT = re.compile('<!--([^-]|-[^-])*-->')
ENCODING_NAME = re.compile('[A-Za-z]([A-Za-z0-9\._]|\-)*')
SYSTEM_LITERAL = re.compile('("[^"]*")|(\'[^\']*\')')
VERSION_NUMBER = re.compile('([a-zA-Z0-9_.:]|\-)+')
ILLEGALCHARS = re.compile('[^\t\r\n -\176\240-\377]')
COMMENT = re.compile('<!--([^-]|-[^-])*-->')
ENCODING_NAME = re.compile('[A-Za-z]([A-Za-z0-9\._]|\-)*')
SYSTEM_LITERAL = re.compile('("[^"]*")|(\'[^\']*\')')
VERSION_NUMBER = re.compile('([a-zA-Z0-9_.:]|\-)+')
ILLEGALCHARS = re.compile('[^\t\r\n -\176\240-\377]')
EQUALS = re.compile(OPTIONAL_SPACE.pattern + '=' +
OPTIONAL_SPACE.pattern)
OPTIONAL_SPACE.pattern)
VERSION_INFO = re.compile(SPACE.pattern + 'version' +
EQUALS.pattern + quote(VERSION_NUMBER))
......@@ -63,7 +62,8 @@ ENCODING_DECLARATION = re.compile(SPACE.pattern + 'encoding' +
EQUALS.pattern + quote(ENCODING_NAME))
STANDALONE_DECLARATION = re.compile(SPACE.pattern + 'standalone' +
EQUALS.pattern + quote('(%s|%s)' % (str(YES), str(NO))))
EQUALS.pattern + quote(
'(%s|%s)' % (str(YES), str(NO))))
NAMECHAR = re.compile(LETTER.pattern + '|' + DIGIT.pattern + '|\.|\-|_|:')
......@@ -74,7 +74,7 @@ ATTRIBUTE = re.compile(NAME.pattern + EQUALS.pattern + ATTRIBUTE_VALUE.pattern)
START_TAG = re.compile('<' + NAME.pattern +
'(' + SPACE.pattern + ATTRIBUTE.pattern + ')*' +
OPTIONAL_SPACE.pattern + '>')
OPTIONAL_SPACE.pattern + '>')
END_TAG = re.compile('</' + NAME.pattern + OPTIONAL_SPACE.pattern + '>')
......@@ -93,7 +93,7 @@ EXTERNAL_ID = re.compile('(SYSTEM' + SPACE.pattern +
MARKUP_DECLARATION = re.compile(CHAR.pattern)
DECLARATION_SEPARATOR = re.compile(SPACE.pattern)
DOCTYPE_DECLARATION = re.compile('<!DOCTYPE' + SPACE.pattern + NAME.pattern +
'(' + SPACE.pattern + EXTERNAL_ID.pattern +
')?' + OPTIONAL_SPACE.pattern +
......@@ -109,8 +109,8 @@ PROLOG = re.compile('(' + XML_DECLARATION.pattern + ')?' +
'(' + DOCTYPE_DECLARATION.pattern +
MISCELLANEOUS.pattern + '*)?')
class SelfmadeXMLParser:
class SelfmadeXMLParser:
is_self_made = 1
def __init__(self):
......@@ -120,17 +120,17 @@ class SelfmadeXMLParser:
def setup(self):
opt_space = OPTIONAL_SPACE.pattern
self.junk = re.compile('%s(%s)%s' % (opt_space, COMMENT.pattern,
opt_space))
name = '(?P<name>%s)' % NAME.pattern
attr = '(?P<attr>(%s%s)*)' % (SPACE.pattern, ATTRIBUTE.pattern)
self.start = re.compile(opt_space + '<' + name + attr + opt_space +
'(?P<end>/?)>' + opt_space)
self.end = re.compile('%s</%s%s>%s' % (opt_space, name, opt_space,
opt_space))
'(?P<end>/?)>' + opt_space)
self.end = re.compile('%s</%s%s>%s' % (opt_space, name, opt_space,
opt_space))
self.attr = re.compile(SPACE.pattern +
'(?P<attr>%s)' % NAME.pattern +
......@@ -140,7 +140,7 @@ class SelfmadeXMLParser:
def parse_prolog(self, xmlfile):
match = PROLOG.match(xmlfile)
if match is None:
return 0
else:
......@@ -156,11 +156,11 @@ class SelfmadeXMLParser:
def go(self, xmlfile):
# parse for junk
match = self.parse_junk(xmlfile)
if match is not None:
return xmlfile[match.end():]
# parse for start
match = self.start.match(xmlfile)
......@@ -170,7 +170,7 @@ class SelfmadeXMLParser:
# empty element
if match.group('end'):
self.EndElementHandler(tag)
self.EndElementHandler(tag)
return xmlfile[match.end():]
......@@ -204,7 +204,7 @@ class SelfmadeXMLParser:
return name, attr_dict
def handle_end_match(self, match):
return match.group('name')
def StartElementHandler(self, tag, attrs):
......@@ -212,7 +212,7 @@ class SelfmadeXMLParser:
def EndElementHandler(self, tag):
raise NotImplementedError