wipo-gbd-transformation 1.1.49__py3-none-any.whl → 1.1.51__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of wipo-gbd-transformation might be problematic. Click here for more details.
- gbdtransformation/brands/istm/filters.py +22 -14
- gbdtransformation/brands/sgtm/filters.py +1 -1
- gbdtransformation/brands/sgtm/template.trademark.yml +1 -1
- gbdtransformation/designs/__init__.py +2 -3
- gbdtransformation/designs/bnid/__init__.py +5 -0
- gbdtransformation/designs/bnid/filters.py +49 -0
- gbdtransformation/designs/bnid/schema +80 -0
- gbdtransformation/designs/bnid/template.yml +1 -0
- gbdtransformation/designs/bwid/__init__.py +6 -0
- gbdtransformation/designs/bwid/filters.py +52 -0
- gbdtransformation/designs/bwid/schema +101 -0
- gbdtransformation/designs/bwid/template.yml +1 -0
- gbdtransformation/designs/crid/__init__.py +5 -0
- gbdtransformation/designs/crid/filters.py +50 -0
- gbdtransformation/designs/crid/schema +94 -0
- gbdtransformation/designs/crid/template.yml +1 -0
- gbdtransformation/designs/cuid/__init__.py +5 -0
- gbdtransformation/designs/cuid/filters.py +47 -0
- gbdtransformation/designs/cuid/schema +98 -0
- gbdtransformation/designs/cuid/template.yml +1 -0
- gbdtransformation/designs/egid/__init__.py +5 -0
- gbdtransformation/designs/egid/filters.py +49 -0
- gbdtransformation/designs/egid/schema +82 -0
- gbdtransformation/designs/egid/template.yml +1 -0
- gbdtransformation/designs/filters.py +13 -1
- gbdtransformation/designs/idid/__init__.py +5 -0
- gbdtransformation/designs/idid/filters.py +54 -0
- gbdtransformation/designs/idid/schema +102 -0
- gbdtransformation/designs/idid/template.yml +1 -0
- gbdtransformation/designs/ipas/filters.py +1 -1
- gbdtransformation/designs/ipas/template.yml +85 -76
- gbdtransformation/designs/joid/__init__.py +6 -0
- gbdtransformation/designs/joid/filters.py +49 -0
- gbdtransformation/designs/joid/schema +97 -0
- gbdtransformation/designs/joid/template.yml +1 -0
- gbdtransformation/designs/keid/__init__.py +5 -0
- gbdtransformation/designs/keid/filters.py +49 -0
- gbdtransformation/designs/keid/schema +99 -0
- gbdtransformation/designs/keid/template.yml +1 -0
- gbdtransformation/designs/khid/__init__.py +5 -0
- gbdtransformation/designs/khid/filters.py +50 -0
- gbdtransformation/designs/khid/schema +100 -0
- gbdtransformation/designs/khid/template.yml +1 -0
- gbdtransformation/designs/laid/__init__.py +5 -0
- gbdtransformation/designs/laid/filters.py +49 -0
- gbdtransformation/designs/laid/schema +94 -0
- gbdtransformation/designs/laid/template.yml +1 -0
- gbdtransformation/designs/mnid/__init__.py +6 -0
- gbdtransformation/designs/mnid/filters.py +49 -0
- gbdtransformation/designs/mnid/schema +98 -0
- gbdtransformation/designs/mnid/template.yml +1 -0
- gbdtransformation/designs/myid/__init__.py +5 -0
- gbdtransformation/designs/myid/filters.py +48 -0
- gbdtransformation/designs/myid/schema +95 -0
- gbdtransformation/designs/myid/template.yml +1 -0
- gbdtransformation/designs/phid/__init__.py +5 -0
- gbdtransformation/designs/phid/filters.py +58 -0
- gbdtransformation/designs/phid/schema +95 -0
- gbdtransformation/designs/phid/template.yml +1 -0
- gbdtransformation/designs/sgid/__init__.py +6 -0
- gbdtransformation/designs/sgid/filters.py +53 -0
- gbdtransformation/designs/sgid/schema +115 -0
- gbdtransformation/designs/sgid/template.yml +1 -0
- gbdtransformation/designs/thid/__init__.py +4 -0
- gbdtransformation/designs/thid/filters.py +52 -0
- gbdtransformation/designs/thid/schema +98 -0
- gbdtransformation/designs/thid/template.yml +1 -0
- gbdtransformation/designs/tnid/__init__.py +5 -0
- gbdtransformation/designs/tnid/filters.py +54 -0
- gbdtransformation/designs/tnid/schema +96 -0
- gbdtransformation/designs/tnid/template.yml +1 -0
- gbdtransformation/designs/woid/__init__.py +2 -0
- gbdtransformation/designs/woid/filters.py +342 -0
- gbdtransformation/designs/woid/schema +592 -0
- gbdtransformation/designs/woid/template.yml +342 -0
- gbdtransformation/designs/xxid/template.yml +211 -123
- gbdtransformation/execs.py +9 -3
- {wipo_gbd_transformation-1.1.49.dist-info → wipo_gbd_transformation-1.1.51.dist-info}/METADATA +6 -2
- {wipo_gbd_transformation-1.1.49.dist-info → wipo_gbd_transformation-1.1.51.dist-info}/RECORD +83 -16
- {wipo_gbd_transformation-1.1.49.dist-info → wipo_gbd_transformation-1.1.51.dist-info}/WHEEL +1 -1
- {wipo_gbd_transformation-1.1.49.dist-info → wipo_gbd_transformation-1.1.51.dist-info}/entry_points.txt +1 -0
- gbdtransformation/.DS_Store +0 -0
- {wipo_gbd_transformation-1.1.49.dist-info → wipo_gbd_transformation-1.1.51.dist-info}/LICENSE.md +0 -0
- {wipo_gbd_transformation-1.1.49.dist-info → wipo_gbd_transformation-1.1.51.dist-info}/top_level.txt +0 -0
|
@@ -10,28 +10,36 @@ def get_full_address(applicant):
|
|
|
10
10
|
|
|
11
11
|
def translate_status(status, status_is):
|
|
12
12
|
# office did not map to english -> we do it
|
|
13
|
-
if
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
13
|
+
if 'Áfrýjun' in status_is: return 'Pending' # Appeal
|
|
14
|
+
if status_is == 'Afturkallað': return 'Ended' # Revoked
|
|
15
|
+
if status_is == 'Birt': return 'Pending' # Published
|
|
16
|
+
if status_is == 'Andmæli': return 'Registered' # Published
|
|
17
|
+
if status_is == 'Krafa um niðurfellingu': return 'Ended' # Request for cancellation
|
|
18
|
+
if status_is == 'Tilbúið til birtingar': return 'Pending' # Ready for publishing
|
|
19
|
+
if status_is == 'Í rannsókn': return 'Registered' # Investigating ..
|
|
20
|
+
if status_is == 'Krafa um ógildingu': return 'Registered' # Claim for annulment ..
|
|
21
|
+
if status_is == 'Rannsóknarhæft': return 'Pending' #Researchable or in their office Application
|
|
22
|
+
if status_is == 'Fyrsta höfnun': return 'Pending' #First rejection or in their office Application
|
|
23
|
+
if status_is == 'Hafna': return 'Ended' #Rejection or in their office Application
|
|
24
|
+
if status_is == 'Vafamál': return 'Registered' #Investigating or in their office Application
|
|
25
|
+
if status_is == 'Endurupptökufrestur': return 'Pending' #Re-admission deadline (Trad)
|
|
26
|
+
if 'Í bi' in status_is: return 'Pending' #On hold
|
|
27
|
+
if 'nari sko' in status_is: return 'Pending'
|
|
28
|
+
if 'Rökstu' in status_is: return 'Pending'
|
|
29
|
+
if status_is == 'Rökstuningur': return 'Pending'
|
|
30
|
+
if status_is == 'Synja': return 'Ended'
|
|
31
|
+
if status_is == 'Umsögn hjá NS': return 'Pending'
|
|
32
|
+
|
|
26
33
|
|
|
27
34
|
if status == 'Filed': return 'Pending'
|
|
28
35
|
if status == 'Expired': return 'Expired'
|
|
29
36
|
if status == 'Ended': return 'Ended'
|
|
30
37
|
if status == 'Registered': return 'Registered'
|
|
31
|
-
|
|
38
|
+
#return 'Unknown'
|
|
32
39
|
raise Exception('Status "%s/%s" unmapped' % (status, status_is))
|
|
33
40
|
|
|
34
41
|
|
|
42
|
+
|
|
35
43
|
def translate_feature(feature, is3D):
|
|
36
44
|
if not feature: return 'Undefined'
|
|
37
45
|
|
|
@@ -31,7 +31,7 @@ def translate_status(status, prev_status=''):
|
|
|
31
31
|
if status == 'Treated as Withdrawn': return 'Ended'
|
|
32
32
|
if status == 'Treated As Withdrawn (Reinstatable)': return 'Ended'
|
|
33
33
|
if status == 'Treated As Withdrawn (Reinstatement Pending)': return 'Ended'
|
|
34
|
-
if status == 'Treated As Withdrawn (Continued Processing Possible)': return '
|
|
34
|
+
if status == 'Treated As Withdrawn (Continued Processing Possible)': return 'Pending'
|
|
35
35
|
if status == 'Refused': return 'Ended'
|
|
36
36
|
if status == 'Refunded': return 'Ended'
|
|
37
37
|
if status == 'Revoked': return 'Ended'
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
status = ['Ended', 'Expired', 'Pending', 'Registered', 'Unknown', 'Delete']
|
|
2
2
|
|
|
3
|
-
kinds = ['Design','Design patent']
|
|
4
|
-
|
|
3
|
+
kinds = ['Industrial Design', 'Design patent']
|
|
5
4
|
|
|
6
5
|
st13_identifier = \
|
|
7
6
|
{ 'national': { 'design': '70'},
|
|
8
7
|
'multinational': { 'design': '70' }
|
|
9
|
-
|
|
8
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# standard gbd definitions
|
|
2
|
+
import gbdtransformation.designs.ipas.filters as ipas
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
# namespaces defined in XML and to be ignored in procecssing
|
|
6
|
+
ignore_namespace = [
|
|
7
|
+
'http://www.wipo.int/standards/XMLSchema/designs',
|
|
8
|
+
'http://www.wipo.int/standards/XMLSchema/wo-designs'
|
|
9
|
+
]
|
|
10
|
+
def get_appdate(appdate, appnum):
|
|
11
|
+
return appnum.split('/')[-2]
|
|
12
|
+
|
|
13
|
+
def get_designs_count(design, header):
|
|
14
|
+
return '1'
|
|
15
|
+
|
|
16
|
+
def get_designs_pos(design, header):
|
|
17
|
+
return '1'
|
|
18
|
+
|
|
19
|
+
def translate_kind(desgin, header):
|
|
20
|
+
code = header.TransactionCode.lower()
|
|
21
|
+
subcode = header.TransactionSubCode.lower()
|
|
22
|
+
if code == 'industrial design':
|
|
23
|
+
return 'Industrial Design'
|
|
24
|
+
raise Exception('Type "%s" "%s" is not mapped.' % (code, subcode))
|
|
25
|
+
|
|
26
|
+
def translate_status(design):
|
|
27
|
+
status = design.DesignCurrentStatusCode
|
|
28
|
+
|
|
29
|
+
return ipas.translate_status(status)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def get_registration_nb(design, idstatus):
|
|
33
|
+
if design.RegistrationNumber:
|
|
34
|
+
return design.RegistrationNumber
|
|
35
|
+
|
|
36
|
+
return None
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def get_expiry_date(design, idstatus):
|
|
40
|
+
return ipas.get_expiry_date(design, idstatus)
|
|
41
|
+
|
|
42
|
+
def get_registration_date(design, idstatus):
|
|
43
|
+
return ipas.get_registration_date(design, idstatus)
|
|
44
|
+
|
|
45
|
+
def is_international(header):
|
|
46
|
+
return False
|
|
47
|
+
|
|
48
|
+
def get_ir_refnum(appnum):
|
|
49
|
+
return appnum
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/Transaction
|
|
2
|
+
__/DesignTransactionBody
|
|
3
|
+
____/TransactionContentDetails
|
|
4
|
+
______/TransactionCode
|
|
5
|
+
______/TransactionData
|
|
6
|
+
________/DesignApplicationDetails
|
|
7
|
+
__________/DesignApplication
|
|
8
|
+
____________/ApplicantDetails
|
|
9
|
+
______________/ApplicantKey
|
|
10
|
+
____________/DesignApplicationDate
|
|
11
|
+
____________/DesignApplicationLanguageCode
|
|
12
|
+
____________/DesignApplicationNumber
|
|
13
|
+
____________/DesignDetails
|
|
14
|
+
______________/Design
|
|
15
|
+
________________/ApplicantDetails
|
|
16
|
+
__________________/Applicant
|
|
17
|
+
____________________/ApplicantAddressBook
|
|
18
|
+
______________________/FormattedNameAddress
|
|
19
|
+
________________________/Address
|
|
20
|
+
__________________________/AddressCountryCode
|
|
21
|
+
__________________________/FreeFormatAddress
|
|
22
|
+
____________________________/FreeFormatAddressLine
|
|
23
|
+
________________________/Name
|
|
24
|
+
__________________________/FreeFormatName
|
|
25
|
+
____________________________/FreeFormatNameDetails
|
|
26
|
+
______________________________/FreeFormatNameLine
|
|
27
|
+
______________________________/FreeFormatNameLine[@languageCode=en]
|
|
28
|
+
________________/DesignCurrentStatusCode
|
|
29
|
+
________________/DesignCurrentStatusDate
|
|
30
|
+
________________/DesignDescription
|
|
31
|
+
________________/DesignEventDetails
|
|
32
|
+
__________________/DesignEvent
|
|
33
|
+
____________________/DesignEventCode
|
|
34
|
+
____________________/DesignEventDate
|
|
35
|
+
____________________/OfficeSpecificDesignEventCode
|
|
36
|
+
____________________/OfficeSpecificDesignEventDescription
|
|
37
|
+
____________________/OfficeSpecificDesignEventDescription[@languageCode=en]
|
|
38
|
+
________________/DesignIdentifier
|
|
39
|
+
________________/DesignRepresentationSheetDetails
|
|
40
|
+
__________________/DesignRepresentationSheet
|
|
41
|
+
____________________/RepresentationSheetFilename
|
|
42
|
+
________________/DesignTitle
|
|
43
|
+
________________/DesignTitle[@languageCode=en]
|
|
44
|
+
________________/DesignTitle[@sequenceNumber=1]
|
|
45
|
+
________________/IndicationProductDetails
|
|
46
|
+
__________________/IndicationProduct
|
|
47
|
+
____________________/ClassDescriptionDetails
|
|
48
|
+
______________________/ClassDescription
|
|
49
|
+
________________________/ClassNumber
|
|
50
|
+
________________________/ProductDescription
|
|
51
|
+
____________________/ClassificationKindCode
|
|
52
|
+
____________________/ClassificationVersion
|
|
53
|
+
________________/NoveltyStatement
|
|
54
|
+
________________/NoveltyStatement[@languageCode=en]
|
|
55
|
+
________________/PriorityDetails
|
|
56
|
+
__________________/Priority
|
|
57
|
+
____________________/PriorityCountryCode
|
|
58
|
+
____________________/PriorityDate
|
|
59
|
+
____________________/PriorityNumber
|
|
60
|
+
________________/PublicationDetails
|
|
61
|
+
__________________/Publication
|
|
62
|
+
____________________/PublicationDate
|
|
63
|
+
________________/RegistrationDate
|
|
64
|
+
________________/RegistrationNumber
|
|
65
|
+
________________/RepresentativeDetails
|
|
66
|
+
__________________/Representative
|
|
67
|
+
____________________/RepresentativeAddressBook
|
|
68
|
+
______________________/FormattedNameAddress
|
|
69
|
+
________________________/Address
|
|
70
|
+
__________________________/AddressCountryCode
|
|
71
|
+
__________________________/FreeFormatAddress
|
|
72
|
+
____________________________/FreeFormatAddressLine
|
|
73
|
+
________________________/Name
|
|
74
|
+
__________________________/FreeFormatName
|
|
75
|
+
____________________________/FreeFormatNameDetails
|
|
76
|
+
______________________________/FreeFormatNameLine
|
|
77
|
+
______________________________/FreeFormatNameLine[@languageCode=en]
|
|
78
|
+
____________/RegistrationOfficeCode
|
|
79
|
+
______/TransactionIdentifier
|
|
80
|
+
______/TransactionSubCode
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{% include "ipas/template.yml" %}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# standard gbd definitions
|
|
2
|
+
import gbdtransformation.designs.ipas.filters as ipas
|
|
3
|
+
import re
|
|
4
|
+
|
|
5
|
+
# namespaces defined in XML and to be ignored in procecssing
|
|
6
|
+
ignore_namespace = [
|
|
7
|
+
'http://www.wipo.int/standards/XMLSchema/designs',
|
|
8
|
+
'http://www.wipo.int/standards/XMLSchema/wo-designs'
|
|
9
|
+
]
|
|
10
|
+
def get_appdate(appdate, appnum):
|
|
11
|
+
mask = '[A-Z]*(\\d{4})\\d*'
|
|
12
|
+
regex = re.compile('^%s$' % mask)
|
|
13
|
+
matches = regex.search(appnum)
|
|
14
|
+
return ''.join(matches.groups())
|
|
15
|
+
|
|
16
|
+
def get_designs_count(design, header):
|
|
17
|
+
return '1'
|
|
18
|
+
|
|
19
|
+
def get_designs_pos(design, header):
|
|
20
|
+
return '1'
|
|
21
|
+
|
|
22
|
+
def translate_kind(desgin, header):
|
|
23
|
+
code = header.TransactionCode.lower()
|
|
24
|
+
subcode = header.TransactionSubCode.lower()
|
|
25
|
+
if code == 'industrial designs':
|
|
26
|
+
return "Industrial Design"
|
|
27
|
+
raise Exception('Type "%s" "%s" is not mapped.' % (code, subcode))
|
|
28
|
+
|
|
29
|
+
def translate_status(design):
|
|
30
|
+
status = design.DesignCurrentStatusCode
|
|
31
|
+
|
|
32
|
+
return ipas.translate_status(status)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def get_registration_nb(design, idstatus):
|
|
36
|
+
if design.RegistrationNumber:
|
|
37
|
+
return design.RegistrationNumber
|
|
38
|
+
|
|
39
|
+
return None
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
def get_expiry_date(design, idstatus):
|
|
43
|
+
return ipas.get_expiry_date(design, idstatus)
|
|
44
|
+
|
|
45
|
+
def get_registration_date(design, idstatus):
|
|
46
|
+
return ipas.get_registration_date(design, idstatus)
|
|
47
|
+
|
|
48
|
+
def is_international(header):
|
|
49
|
+
return False
|
|
50
|
+
|
|
51
|
+
def get_ir_refnum(appnum):
|
|
52
|
+
return appnum
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/Transaction
|
|
2
|
+
__/DesignTransactionBody
|
|
3
|
+
____/TransactionContentDetails
|
|
4
|
+
______/TransactionCode
|
|
5
|
+
______/TransactionData
|
|
6
|
+
________/DesignApplicationDetails
|
|
7
|
+
__________/DesignApplication
|
|
8
|
+
____________/ApplicantDetails
|
|
9
|
+
______________/ApplicantKey
|
|
10
|
+
____________/DesignApplicationDate
|
|
11
|
+
____________/DesignApplicationLanguageCode
|
|
12
|
+
____________/DesignApplicationNumber
|
|
13
|
+
____________/DesignDetails
|
|
14
|
+
______________/Design
|
|
15
|
+
________________/ApplicantDetails
|
|
16
|
+
__________________/Applicant
|
|
17
|
+
____________________/ApplicantAddressBook
|
|
18
|
+
______________________/FormattedNameAddress
|
|
19
|
+
________________________/Address
|
|
20
|
+
__________________________/AddressCountryCode
|
|
21
|
+
__________________________/FreeFormatAddress
|
|
22
|
+
____________________________/FreeFormatAddressLine
|
|
23
|
+
________________________/Name
|
|
24
|
+
__________________________/FreeFormatName
|
|
25
|
+
____________________________/FreeFormatNameDetails
|
|
26
|
+
______________________________/FreeFormatNameLine
|
|
27
|
+
______________________________/FreeFormatNameLine[@languageCode=en]
|
|
28
|
+
________________/DesignCurrentStatusCode
|
|
29
|
+
________________/DesignCurrentStatusDate
|
|
30
|
+
________________/DesignDescription
|
|
31
|
+
________________/DesignEventDetails
|
|
32
|
+
__________________/DesignEvent
|
|
33
|
+
____________________/DesignEventCode
|
|
34
|
+
____________________/DesignEventDate
|
|
35
|
+
____________________/OfficeSpecificDesignEventCode
|
|
36
|
+
____________________/OfficeSpecificDesignEventDescription
|
|
37
|
+
____________________/OfficeSpecificDesignEventDescription[@languageCode=en]
|
|
38
|
+
____________________/OfficeSpecificDesignEventName
|
|
39
|
+
________________/DesignIdentifier
|
|
40
|
+
________________/DesignRepresentationSheetDetails
|
|
41
|
+
__________________/DesignRepresentationSheet
|
|
42
|
+
____________________/RepresentationSheetFilename
|
|
43
|
+
________________/DesignSpecimenDetails
|
|
44
|
+
__________________/DesignSpecimen
|
|
45
|
+
____________________/SpecimenDescription
|
|
46
|
+
____________________/SpecimenDescription[@languageCode=en]
|
|
47
|
+
____________________/SpecimenIdentifier
|
|
48
|
+
________________/DesignTitle
|
|
49
|
+
________________/DesignTitle[@languageCode=en]
|
|
50
|
+
________________/DesignTitle[@sequenceNumber=1]
|
|
51
|
+
________________/DesignerDetails
|
|
52
|
+
__________________/Designer
|
|
53
|
+
____________________/DesignerAddressBook
|
|
54
|
+
______________________/FormattedNameAddress
|
|
55
|
+
________________________/Address
|
|
56
|
+
__________________________/AddressCountryCode
|
|
57
|
+
__________________________/FreeFormatAddress
|
|
58
|
+
____________________________/FreeFormatAddressLine
|
|
59
|
+
________________________/Name
|
|
60
|
+
__________________________/FreeFormatName
|
|
61
|
+
____________________________/FreeFormatNameDetails
|
|
62
|
+
______________________________/FreeFormatNameLine
|
|
63
|
+
______________________________/FreeFormatNameLine[@languageCode=en]
|
|
64
|
+
________________/ExpiryDate
|
|
65
|
+
________________/IndicationProductDetails
|
|
66
|
+
__________________/IndicationProduct
|
|
67
|
+
____________________/ClassDescriptionDetails
|
|
68
|
+
______________________/ClassDescription
|
|
69
|
+
________________________/ClassNumber
|
|
70
|
+
________________________/ProductDescription
|
|
71
|
+
____________________/ClassificationKindCode
|
|
72
|
+
____________________/ClassificationVersion
|
|
73
|
+
________________/NoveltyStatement
|
|
74
|
+
________________/NoveltyStatement[@languageCode=en]
|
|
75
|
+
________________/PriorityDetails
|
|
76
|
+
__________________/Priority
|
|
77
|
+
____________________/PriorityCountryCode
|
|
78
|
+
____________________/PriorityDate
|
|
79
|
+
____________________/PriorityNumber
|
|
80
|
+
________________/PublicationDetails
|
|
81
|
+
__________________/Publication
|
|
82
|
+
____________________/PublicationDate
|
|
83
|
+
____________________/PublicationIdentifier
|
|
84
|
+
________________/RegistrationDate
|
|
85
|
+
________________/RegistrationNumber
|
|
86
|
+
________________/RepresentativeDetails
|
|
87
|
+
__________________/Representative
|
|
88
|
+
____________________/RepresentativeAddressBook
|
|
89
|
+
______________________/FormattedNameAddress
|
|
90
|
+
________________________/Address
|
|
91
|
+
__________________________/AddressCountryCode
|
|
92
|
+
__________________________/FreeFormatAddress
|
|
93
|
+
____________________________/FreeFormatAddressLine
|
|
94
|
+
________________________/Name
|
|
95
|
+
__________________________/FreeFormatName
|
|
96
|
+
____________________________/FreeFormatNameDetails
|
|
97
|
+
______________________________/FreeFormatNameLine
|
|
98
|
+
______________________________/FreeFormatNameLine[@languageCode=en]
|
|
99
|
+
____________/RegistrationOfficeCode
|
|
100
|
+
______/TransactionIdentifier
|
|
101
|
+
______/TransactionSubCode
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{% include "ipas/template.yml" %}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# standard gbd definitions
|
|
2
|
+
import gbdtransformation.designs.ipas.filters as ipas
|
|
3
|
+
import re
|
|
4
|
+
|
|
5
|
+
# namespaces defined in XML and to be ignored in procecssing
|
|
6
|
+
ignore_namespace = [
|
|
7
|
+
'http://www.wipo.int/standards/XMLSchema/designs',
|
|
8
|
+
'http://www.wipo.int/standards/XMLSchema/wo-designs'
|
|
9
|
+
]
|
|
10
|
+
def get_appdate(appdate, appnum):
|
|
11
|
+
return appdate
|
|
12
|
+
|
|
13
|
+
def get_designs_count(design, header):
|
|
14
|
+
return '1'
|
|
15
|
+
|
|
16
|
+
def get_designs_pos(design, header):
|
|
17
|
+
return '1'
|
|
18
|
+
|
|
19
|
+
def translate_kind(desgin, header):
|
|
20
|
+
code = header.TransactionCode.lower()
|
|
21
|
+
subcode = header.TransactionSubCode.lower()
|
|
22
|
+
if subcode == 'diseño industrial':
|
|
23
|
+
return "Industrial Design"
|
|
24
|
+
raise Exception('Type "%s" "%s" is not mapped.' % (code, subcode))
|
|
25
|
+
|
|
26
|
+
def translate_status(design):
|
|
27
|
+
status = design.DesignCurrentStatusCode
|
|
28
|
+
if status.lower() == 'presentada':
|
|
29
|
+
status = 'filed'
|
|
30
|
+
return ipas.translate_status(status)
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def get_registration_nb(design, idstatus):
|
|
34
|
+
if design.RegistrationNumber:
|
|
35
|
+
return design.RegistrationNumber
|
|
36
|
+
|
|
37
|
+
return None
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
def get_expiry_date(design, idstatus):
|
|
41
|
+
return ipas.get_expiry_date(design, idstatus)
|
|
42
|
+
|
|
43
|
+
def get_registration_date(design, idstatus):
|
|
44
|
+
return ipas.get_registration_date(design, idstatus)
|
|
45
|
+
|
|
46
|
+
def is_international(header):
|
|
47
|
+
return False
|
|
48
|
+
|
|
49
|
+
def get_ir_refnum(appnum):
|
|
50
|
+
return appnum
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/Transaction
|
|
2
|
+
__/DesignTransactionBody
|
|
3
|
+
____/TransactionContentDetails
|
|
4
|
+
______/TransactionCode
|
|
5
|
+
______/TransactionData
|
|
6
|
+
________/DesignApplicationDetails
|
|
7
|
+
__________/DesignApplication
|
|
8
|
+
____________/ApplicantDetails
|
|
9
|
+
______________/ApplicantKey
|
|
10
|
+
____________/DesignApplicationDate
|
|
11
|
+
____________/DesignApplicationLanguageCode
|
|
12
|
+
____________/DesignApplicationNumber
|
|
13
|
+
____________/DesignDetails
|
|
14
|
+
______________/Design
|
|
15
|
+
________________/ApplicantDetails
|
|
16
|
+
__________________/Applicant
|
|
17
|
+
____________________/ApplicantAddressBook
|
|
18
|
+
______________________/FormattedNameAddress
|
|
19
|
+
________________________/Address
|
|
20
|
+
__________________________/AddressCountryCode
|
|
21
|
+
__________________________/FreeFormatAddress
|
|
22
|
+
____________________________/FreeFormatAddressLine
|
|
23
|
+
________________________/Name
|
|
24
|
+
__________________________/FreeFormatName
|
|
25
|
+
____________________________/FreeFormatNameDetails
|
|
26
|
+
______________________________/FreeFormatNameLine
|
|
27
|
+
______________________________/FreeFormatNameLine[@languageCode=es]
|
|
28
|
+
________________/DesignCurrentStatusCode
|
|
29
|
+
________________/DesignCurrentStatusDate
|
|
30
|
+
________________/DesignDescription
|
|
31
|
+
________________/DesignEventDetails
|
|
32
|
+
__________________/DesignEvent
|
|
33
|
+
____________________/DesignEventCode
|
|
34
|
+
____________________/DesignEventDate
|
|
35
|
+
____________________/OfficeSpecificDesignEventName
|
|
36
|
+
________________/DesignIdentifier
|
|
37
|
+
________________/DesignRepresentationSheetDetails
|
|
38
|
+
__________________/DesignRepresentationSheet
|
|
39
|
+
____________________/RepresentationSheetFilename
|
|
40
|
+
________________/DesignTitle
|
|
41
|
+
________________/DesignTitle[@languageCode=es]
|
|
42
|
+
________________/DesignTitle[@sequenceNumber=1]
|
|
43
|
+
________________/DesignerDetails
|
|
44
|
+
__________________/Designer
|
|
45
|
+
____________________/DesignerAddressBook
|
|
46
|
+
______________________/FormattedNameAddress
|
|
47
|
+
________________________/Address
|
|
48
|
+
__________________________/AddressCountryCode
|
|
49
|
+
__________________________/FreeFormatAddress
|
|
50
|
+
____________________________/FreeFormatAddressLine
|
|
51
|
+
________________________/Name
|
|
52
|
+
__________________________/FreeFormatName
|
|
53
|
+
____________________________/FreeFormatNameDetails
|
|
54
|
+
______________________________/FreeFormatNameLine
|
|
55
|
+
______________________________/FreeFormatNameLine[@languageCode=es]
|
|
56
|
+
________________/ExpiryDate
|
|
57
|
+
________________/IndicationProductDetails
|
|
58
|
+
__________________/IndicationProduct
|
|
59
|
+
____________________/ClassDescriptionDetails
|
|
60
|
+
______________________/ClassDescription
|
|
61
|
+
________________________/ClassNumber
|
|
62
|
+
________________________/ProductDescription
|
|
63
|
+
____________________/ClassificationKindCode
|
|
64
|
+
____________________/ClassificationVersion
|
|
65
|
+
________________/NoveltyStatement
|
|
66
|
+
________________/NoveltyStatement[@languageCode=en]
|
|
67
|
+
________________/NoveltyStatement[@languageCode=es]
|
|
68
|
+
________________/PriorityDetails
|
|
69
|
+
__________________/Priority
|
|
70
|
+
____________________/PriorityCountryCode
|
|
71
|
+
____________________/PriorityDate
|
|
72
|
+
____________________/PriorityNumber
|
|
73
|
+
________________/PublicationDetails
|
|
74
|
+
__________________/Publication
|
|
75
|
+
____________________/PublicationDate
|
|
76
|
+
____________________/PublicationIdentifier
|
|
77
|
+
________________/RegistrationDate
|
|
78
|
+
________________/RegistrationNumber
|
|
79
|
+
________________/RepresentativeDetails
|
|
80
|
+
__________________/Representative
|
|
81
|
+
____________________/RepresentativeAddressBook
|
|
82
|
+
______________________/FormattedNameAddress
|
|
83
|
+
________________________/Address
|
|
84
|
+
__________________________/AddressCountryCode
|
|
85
|
+
__________________________/FreeFormatAddress
|
|
86
|
+
____________________________/FreeFormatAddressLine
|
|
87
|
+
________________________/Name
|
|
88
|
+
__________________________/FreeFormatName
|
|
89
|
+
____________________________/FreeFormatNameDetails
|
|
90
|
+
______________________________/FreeFormatNameLine
|
|
91
|
+
______________________________/FreeFormatNameLine[@languageCode=es]
|
|
92
|
+
____________/RegistrationOfficeCode
|
|
93
|
+
______/TransactionIdentifier
|
|
94
|
+
______/TransactionSubCode
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{% include "ipas/template.yml" %}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# standard gbd definitions
|
|
2
|
+
import gbdtransformation.designs.ipas.filters as ipas
|
|
3
|
+
import re
|
|
4
|
+
|
|
5
|
+
# namespaces defined in XML and to be ignored in procecssing
|
|
6
|
+
ignore_namespace = [
|
|
7
|
+
'http://www.wipo.int/standards/XMLSchema/designs',
|
|
8
|
+
'http://www.wipo.int/standards/XMLSchema/wo-designs'
|
|
9
|
+
]
|
|
10
|
+
def get_appdate(appdate, appnum):
|
|
11
|
+
return appdate
|
|
12
|
+
|
|
13
|
+
def get_designs_count(design, header):
|
|
14
|
+
return '1'
|
|
15
|
+
|
|
16
|
+
def get_designs_pos(design, header):
|
|
17
|
+
return '1'
|
|
18
|
+
|
|
19
|
+
def translate_kind(desgin, header):
|
|
20
|
+
return "Industrial Design"
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def translate_status(design):
|
|
24
|
+
status = design.DesignCurrentStatusCode
|
|
25
|
+
if status == '1934':
|
|
26
|
+
return 'Unknown'
|
|
27
|
+
return ipas.translate_status(status)
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
def get_registration_nb(design, idstatus):
|
|
31
|
+
if design.RegistrationNumber:
|
|
32
|
+
return design.RegistrationNumber
|
|
33
|
+
|
|
34
|
+
return None
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def get_expiry_date(design, idstatus):
|
|
38
|
+
return ipas.get_expiry_date(design, idstatus)
|
|
39
|
+
|
|
40
|
+
def get_registration_date(design, idstatus):
|
|
41
|
+
return ipas.get_registration_date(design, idstatus)
|
|
42
|
+
|
|
43
|
+
def is_international(header):
|
|
44
|
+
return False
|
|
45
|
+
|
|
46
|
+
def get_ir_refnum(appnum):
|
|
47
|
+
return appnum
|