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.

Files changed (84) hide show
  1. gbdtransformation/brands/istm/filters.py +22 -14
  2. gbdtransformation/brands/sgtm/filters.py +1 -1
  3. gbdtransformation/brands/sgtm/template.trademark.yml +1 -1
  4. gbdtransformation/designs/__init__.py +2 -3
  5. gbdtransformation/designs/bnid/__init__.py +5 -0
  6. gbdtransformation/designs/bnid/filters.py +49 -0
  7. gbdtransformation/designs/bnid/schema +80 -0
  8. gbdtransformation/designs/bnid/template.yml +1 -0
  9. gbdtransformation/designs/bwid/__init__.py +6 -0
  10. gbdtransformation/designs/bwid/filters.py +52 -0
  11. gbdtransformation/designs/bwid/schema +101 -0
  12. gbdtransformation/designs/bwid/template.yml +1 -0
  13. gbdtransformation/designs/crid/__init__.py +5 -0
  14. gbdtransformation/designs/crid/filters.py +50 -0
  15. gbdtransformation/designs/crid/schema +94 -0
  16. gbdtransformation/designs/crid/template.yml +1 -0
  17. gbdtransformation/designs/cuid/__init__.py +5 -0
  18. gbdtransformation/designs/cuid/filters.py +47 -0
  19. gbdtransformation/designs/cuid/schema +98 -0
  20. gbdtransformation/designs/cuid/template.yml +1 -0
  21. gbdtransformation/designs/egid/__init__.py +5 -0
  22. gbdtransformation/designs/egid/filters.py +49 -0
  23. gbdtransformation/designs/egid/schema +82 -0
  24. gbdtransformation/designs/egid/template.yml +1 -0
  25. gbdtransformation/designs/filters.py +13 -1
  26. gbdtransformation/designs/idid/__init__.py +5 -0
  27. gbdtransformation/designs/idid/filters.py +54 -0
  28. gbdtransformation/designs/idid/schema +102 -0
  29. gbdtransformation/designs/idid/template.yml +1 -0
  30. gbdtransformation/designs/ipas/filters.py +1 -1
  31. gbdtransformation/designs/ipas/template.yml +85 -76
  32. gbdtransformation/designs/joid/__init__.py +6 -0
  33. gbdtransformation/designs/joid/filters.py +49 -0
  34. gbdtransformation/designs/joid/schema +97 -0
  35. gbdtransformation/designs/joid/template.yml +1 -0
  36. gbdtransformation/designs/keid/__init__.py +5 -0
  37. gbdtransformation/designs/keid/filters.py +49 -0
  38. gbdtransformation/designs/keid/schema +99 -0
  39. gbdtransformation/designs/keid/template.yml +1 -0
  40. gbdtransformation/designs/khid/__init__.py +5 -0
  41. gbdtransformation/designs/khid/filters.py +50 -0
  42. gbdtransformation/designs/khid/schema +100 -0
  43. gbdtransformation/designs/khid/template.yml +1 -0
  44. gbdtransformation/designs/laid/__init__.py +5 -0
  45. gbdtransformation/designs/laid/filters.py +49 -0
  46. gbdtransformation/designs/laid/schema +94 -0
  47. gbdtransformation/designs/laid/template.yml +1 -0
  48. gbdtransformation/designs/mnid/__init__.py +6 -0
  49. gbdtransformation/designs/mnid/filters.py +49 -0
  50. gbdtransformation/designs/mnid/schema +98 -0
  51. gbdtransformation/designs/mnid/template.yml +1 -0
  52. gbdtransformation/designs/myid/__init__.py +5 -0
  53. gbdtransformation/designs/myid/filters.py +48 -0
  54. gbdtransformation/designs/myid/schema +95 -0
  55. gbdtransformation/designs/myid/template.yml +1 -0
  56. gbdtransformation/designs/phid/__init__.py +5 -0
  57. gbdtransformation/designs/phid/filters.py +58 -0
  58. gbdtransformation/designs/phid/schema +95 -0
  59. gbdtransformation/designs/phid/template.yml +1 -0
  60. gbdtransformation/designs/sgid/__init__.py +6 -0
  61. gbdtransformation/designs/sgid/filters.py +53 -0
  62. gbdtransformation/designs/sgid/schema +115 -0
  63. gbdtransformation/designs/sgid/template.yml +1 -0
  64. gbdtransformation/designs/thid/__init__.py +4 -0
  65. gbdtransformation/designs/thid/filters.py +52 -0
  66. gbdtransformation/designs/thid/schema +98 -0
  67. gbdtransformation/designs/thid/template.yml +1 -0
  68. gbdtransformation/designs/tnid/__init__.py +5 -0
  69. gbdtransformation/designs/tnid/filters.py +54 -0
  70. gbdtransformation/designs/tnid/schema +96 -0
  71. gbdtransformation/designs/tnid/template.yml +1 -0
  72. gbdtransformation/designs/woid/__init__.py +2 -0
  73. gbdtransformation/designs/woid/filters.py +342 -0
  74. gbdtransformation/designs/woid/schema +592 -0
  75. gbdtransformation/designs/woid/template.yml +342 -0
  76. gbdtransformation/designs/xxid/template.yml +211 -123
  77. gbdtransformation/execs.py +9 -3
  78. {wipo_gbd_transformation-1.1.49.dist-info → wipo_gbd_transformation-1.1.51.dist-info}/METADATA +6 -2
  79. {wipo_gbd_transformation-1.1.49.dist-info → wipo_gbd_transformation-1.1.51.dist-info}/RECORD +83 -16
  80. {wipo_gbd_transformation-1.1.49.dist-info → wipo_gbd_transformation-1.1.51.dist-info}/WHEEL +1 -1
  81. {wipo_gbd_transformation-1.1.49.dist-info → wipo_gbd_transformation-1.1.51.dist-info}/entry_points.txt +1 -0
  82. gbdtransformation/.DS_Store +0 -0
  83. {wipo_gbd_transformation-1.1.49.dist-info → wipo_gbd_transformation-1.1.51.dist-info}/LICENSE.md +0 -0
  84. {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 not status:
14
- if status_is == 'Áfrýjun': return 'Pending' # Appeal
15
- if status_is == 'Afturkallað': return 'Ended' # Revoked
16
- if status_is == 'Birt': return 'Pending' # Published
17
- if status_is == 'Andmæli': return 'Registered' # Published
18
- if status_is == 'Krafa um niðurfellingu': return 'Ended' # Request for cancellation
19
- if status_is == 'Tilbúið til birtingar': return 'Pending' # Ready for publishing
20
- if status_is == 'Í rannsókn': return 'Registered' # Investigating ..
21
- if status_is == 'Krafa um ógildingu': return 'Registered' # Claim for annulment ..
22
- if status_is == 'Rannsóknarhæft': return 'Pending' #Researchable or in their office Application
23
- if status_is == 'Fyrsta höfnun': return 'Pending' #First rejection or in their office Application
24
- if status_is == 'Hafna': return 'Ended' #Rejection or in their office Application
25
- if status_is == 'Vafamál': return 'Registered' #Investigating or in their office Application
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 'Ended'
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'
@@ -14,7 +14,7 @@ markFeature: {{ Trademark | translate_feature }}
14
14
  designatedCountries:
15
15
  - SG
16
16
 
17
- referece:
17
+ reference:
18
18
  {% if Trademark.ir_no %}
19
19
  office: WO
20
20
  registration:
@@ -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,5 @@
1
+ render = 'JSON'
2
+ source = 'national'
3
+
4
+ # AL/I/1996/000003
5
+ appnum_mask = 'BN/\\d*/(\\d*)'
@@ -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,6 @@
1
+ render = 'JSON'
2
+ source = 'national'
3
+
4
+ # AL/I/1996/000003
5
+ appnum_mask = ['BWBW([F|P])\\d{4}(\\d*)',
6
+ 'BWAP([F|P])\\d{4}(\\d*)']
@@ -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,5 @@
1
+ render = 'JSON'
2
+ source = 'national'
3
+
4
+ # AL/I/1996/000003
5
+ appnum_mask = ['\\d{4}-(\\d*)']
@@ -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,5 @@
1
+ render = 'JSON'
2
+ source = 'national'
3
+
4
+ # CU/I/1996/000105
5
+ appnum_mask = ['CU/I/\\d{4}/(\\d*)']
@@ -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