wipo-gbd-transformation 1.1.105__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.
Files changed (607) hide show
  1. gbdtransformation/__init__.py +0 -0
  2. gbdtransformation/brands/__init__.py +44 -0
  3. gbdtransformation/brands/aetm/__init__.py +5 -0
  4. gbdtransformation/brands/aetm/filters.py +84 -0
  5. gbdtransformation/brands/aetm/schema +87 -0
  6. gbdtransformation/brands/aetm/template.yml +1 -0
  7. gbdtransformation/brands/aetm/tests/__init__.py +0 -0
  8. gbdtransformation/brands/altm/__init__.py +6 -0
  9. gbdtransformation/brands/altm/filters.py +107 -0
  10. gbdtransformation/brands/altm/schema +83 -0
  11. gbdtransformation/brands/altm/template.yml +1 -0
  12. gbdtransformation/brands/altm/tests/__init__.py +0 -0
  13. gbdtransformation/brands/altm/tests/altm.xml +93 -0
  14. gbdtransformation/brands/aptm/__init__.py +15 -0
  15. gbdtransformation/brands/aptm/filters.py +80 -0
  16. gbdtransformation/brands/aptm/schema +87 -0
  17. gbdtransformation/brands/aptm/template.yml +1 -0
  18. gbdtransformation/brands/aptm/tests/__init__.py +0 -0
  19. gbdtransformation/brands/attm/__init__.py +6 -0
  20. gbdtransformation/brands/attm/filters.py +76 -0
  21. gbdtransformation/brands/attm/schema +52 -0
  22. gbdtransformation/brands/attm/template.yml +85 -0
  23. gbdtransformation/brands/autm/__init__.py +2 -0
  24. gbdtransformation/brands/autm/filters.py +222 -0
  25. gbdtransformation/brands/autm/schema +91 -0
  26. gbdtransformation/brands/autm/template.yml +157 -0
  27. gbdtransformation/brands/bgtm/__init__.py +5 -0
  28. gbdtransformation/brands/bgtm/filters.py +112 -0
  29. gbdtransformation/brands/bgtm/schema +314 -0
  30. gbdtransformation/brands/bgtm/template.yml +154 -0
  31. gbdtransformation/brands/bhtm/__init__.py +12 -0
  32. gbdtransformation/brands/bhtm/filters.py +87 -0
  33. gbdtransformation/brands/bhtm/schema +87 -0
  34. gbdtransformation/brands/bhtm/template.yml +1 -0
  35. gbdtransformation/brands/bhtm/tests/__init__.py +0 -0
  36. gbdtransformation/brands/bntm/__init__.py +2 -0
  37. gbdtransformation/brands/bntm/filters.py +75 -0
  38. gbdtransformation/brands/bntm/schema +87 -0
  39. gbdtransformation/brands/bntm/template.yml +1 -0
  40. gbdtransformation/brands/bntm/tests/__init__.py +0 -0
  41. gbdtransformation/brands/brtm/__init__.py +3 -0
  42. gbdtransformation/brands/brtm/filters.py +169 -0
  43. gbdtransformation/brands/brtm/schema +86 -0
  44. gbdtransformation/brands/brtm/template.yml +22 -0
  45. gbdtransformation/brands/brtm/tests/__init__.py +0 -0
  46. gbdtransformation/brands/brtm/tests/test01.xml +53 -0
  47. gbdtransformation/brands/bttm/__init__.py +10 -0
  48. gbdtransformation/brands/bttm/filters.py +80 -0
  49. gbdtransformation/brands/bttm/schema +87 -0
  50. gbdtransformation/brands/bttm/template.yml +1 -0
  51. gbdtransformation/brands/bttm/tests/__init__.py +0 -0
  52. gbdtransformation/brands/bwtm/__init__.py +13 -0
  53. gbdtransformation/brands/bwtm/filters.py +90 -0
  54. gbdtransformation/brands/bwtm/schema +87 -0
  55. gbdtransformation/brands/bwtm/template.yml +1 -0
  56. gbdtransformation/brands/bwtm/tests/__init__.py +0 -0
  57. gbdtransformation/brands/bztm/__init__.py +16 -0
  58. gbdtransformation/brands/bztm/filters.py +77 -0
  59. gbdtransformation/brands/bztm/schema +87 -0
  60. gbdtransformation/brands/bztm/template.yml +1 -0
  61. gbdtransformation/brands/bztm/tests/__init__.py +0 -0
  62. gbdtransformation/brands/catm/__init__.py +10 -0
  63. gbdtransformation/brands/catm/filters.py +272 -0
  64. gbdtransformation/brands/catm/schema +804 -0
  65. gbdtransformation/brands/catm/template.yml +230 -0
  66. gbdtransformation/brands/chtm/__init__.py +6 -0
  67. gbdtransformation/brands/chtm/filters.py +161 -0
  68. gbdtransformation/brands/chtm/schema +79 -0
  69. gbdtransformation/brands/chtm/template.yml +121 -0
  70. gbdtransformation/brands/cltm/__init__.py +2 -0
  71. gbdtransformation/brands/cltm/filters.py +80 -0
  72. gbdtransformation/brands/cltm/schema +86 -0
  73. gbdtransformation/brands/cltm/template.yml +1 -0
  74. gbdtransformation/brands/cltm/tests/__init__.py +0 -0
  75. gbdtransformation/brands/crtm/__init__.py +5 -0
  76. gbdtransformation/brands/crtm/filters.py +196 -0
  77. gbdtransformation/brands/crtm/schema +86 -0
  78. gbdtransformation/brands/crtm/template.yml +1 -0
  79. gbdtransformation/brands/crtm/tests/__init__.py +0 -0
  80. gbdtransformation/brands/cutm/__init__.py +10 -0
  81. gbdtransformation/brands/cutm/filters.py +94 -0
  82. gbdtransformation/brands/cutm/schema +86 -0
  83. gbdtransformation/brands/cutm/template.yml +4 -0
  84. gbdtransformation/brands/cutm/tests/__init__.py +0 -0
  85. gbdtransformation/brands/detm/__init__.py +19 -0
  86. gbdtransformation/brands/detm/filters.py +75 -0
  87. gbdtransformation/brands/detm/schema +511 -0
  88. gbdtransformation/brands/detm/template.yml +151 -0
  89. gbdtransformation/brands/dktm/__init__.py +7 -0
  90. gbdtransformation/brands/dktm/filters.py +90 -0
  91. gbdtransformation/brands/dktm/schema +95 -0
  92. gbdtransformation/brands/dktm/template.yml +114 -0
  93. gbdtransformation/brands/dztm/__init__.py +10 -0
  94. gbdtransformation/brands/dztm/filters.py +81 -0
  95. gbdtransformation/brands/dztm/schema +87 -0
  96. gbdtransformation/brands/dztm/template.yml +1 -0
  97. gbdtransformation/brands/dztm/tests/__init__.py +0 -0
  98. gbdtransformation/brands/eetm/__init__.py +8 -0
  99. gbdtransformation/brands/eetm/filters.py +115 -0
  100. gbdtransformation/brands/eetm/schema +48 -0
  101. gbdtransformation/brands/eetm/template.yml +98 -0
  102. gbdtransformation/brands/egtm/__init__.py +5 -0
  103. gbdtransformation/brands/egtm/filters.py +73 -0
  104. gbdtransformation/brands/egtm/schema +87 -0
  105. gbdtransformation/brands/egtm/template.yml +1 -0
  106. gbdtransformation/brands/egtm/tests/__init__.py +0 -0
  107. gbdtransformation/brands/emtm/__init__.py +3 -0
  108. gbdtransformation/brands/emtm/filters.py +96 -0
  109. gbdtransformation/brands/emtm/schema +314 -0
  110. gbdtransformation/brands/emtm/template.yml +125 -0
  111. gbdtransformation/brands/estm/__init__.py +3 -0
  112. gbdtransformation/brands/estm/filters.py +110 -0
  113. gbdtransformation/brands/estm/schema +99 -0
  114. gbdtransformation/brands/estm/template.yml +144 -0
  115. gbdtransformation/brands/filters.py +125 -0
  116. gbdtransformation/brands/frtm/__init__.py +2 -0
  117. gbdtransformation/brands/frtm/filters.py +172 -0
  118. gbdtransformation/brands/frtm/schema +300 -0
  119. gbdtransformation/brands/frtm/template.yml +203 -0
  120. gbdtransformation/brands/gbtm/__init__.py +3 -0
  121. gbdtransformation/brands/gbtm/filters.py +122 -0
  122. gbdtransformation/brands/gbtm/schema +362 -0
  123. gbdtransformation/brands/gbtm/template.yml +147 -0
  124. gbdtransformation/brands/gdtm/__init__.py +5 -0
  125. gbdtransformation/brands/gdtm/filters.py +68 -0
  126. gbdtransformation/brands/gdtm/schema +87 -0
  127. gbdtransformation/brands/gdtm/template.yml +1 -0
  128. gbdtransformation/brands/gdtm/tests/__init__.py +0 -0
  129. gbdtransformation/brands/getm/__init__.py +3 -0
  130. gbdtransformation/brands/getm/filters.py +68 -0
  131. gbdtransformation/brands/getm/schema +209 -0
  132. gbdtransformation/brands/getm/template.yml +142 -0
  133. gbdtransformation/brands/ghtm/__init__.py +12 -0
  134. gbdtransformation/brands/ghtm/filters.py +74 -0
  135. gbdtransformation/brands/ghtm/schema +86 -0
  136. gbdtransformation/brands/ghtm/template.yml +1 -0
  137. gbdtransformation/brands/ghtm/tests/__init__.py +0 -0
  138. gbdtransformation/brands/gmtm/__init__.py +7 -0
  139. gbdtransformation/brands/gmtm/filters.py +70 -0
  140. gbdtransformation/brands/gmtm/schema +86 -0
  141. gbdtransformation/brands/gmtm/template.yml +1 -0
  142. gbdtransformation/brands/gmtm/tests/__init__.py +0 -0
  143. gbdtransformation/brands/gstm/__init__.py +2 -0
  144. gbdtransformation/brands/gstm/filters.py +75 -0
  145. gbdtransformation/brands/gstm/template.gs.yml +56 -0
  146. gbdtransformation/brands/gstm/template.yml +32 -0
  147. gbdtransformation/brands/hrtm/__init__.py +3 -0
  148. gbdtransformation/brands/hrtm/filters.py +158 -0
  149. gbdtransformation/brands/hrtm/schema +43 -0
  150. gbdtransformation/brands/hrtm/template.yml +205 -0
  151. gbdtransformation/brands/idtm/__init__.py +12 -0
  152. gbdtransformation/brands/idtm/filters.py +95 -0
  153. gbdtransformation/brands/idtm/schema +86 -0
  154. gbdtransformation/brands/idtm/template.yml +1 -0
  155. gbdtransformation/brands/idtm/tests/__init__.py +0 -0
  156. gbdtransformation/brands/idtm/tests/translation.xml +106 -0
  157. gbdtransformation/brands/idtm/tests/unicode.xml +120 -0
  158. gbdtransformation/brands/iltm/__init__.py +2 -0
  159. gbdtransformation/brands/iltm/filters.py +91 -0
  160. gbdtransformation/brands/iltm/schema +87 -0
  161. gbdtransformation/brands/iltm/template.yml +213 -0
  162. gbdtransformation/brands/iltm/tests/__init__.py +0 -0
  163. gbdtransformation/brands/iltm/tests/cancellations.xml +156 -0
  164. gbdtransformation/brands/iltm/tests/collcert.xml +51 -0
  165. gbdtransformation/brands/iltm/tests/eventdata.xml +83 -0
  166. gbdtransformation/brands/iltm/tests/international.xml +80 -0
  167. gbdtransformation/brands/iltm/tests/markfeature.xml +117 -0
  168. gbdtransformation/brands/iltm/tests/noevents.xml +44 -0
  169. gbdtransformation/brands/iltm/tests/opposition.xml +147 -0
  170. gbdtransformation/brands/iltm/tests/tlit.xml +77 -0
  171. gbdtransformation/brands/intm/__init__.py +6 -0
  172. gbdtransformation/brands/intm/filters.py +75 -0
  173. gbdtransformation/brands/intm/schema +127 -0
  174. gbdtransformation/brands/intm/template.yml +112 -0
  175. gbdtransformation/brands/ipas/__init__.py +0 -0
  176. gbdtransformation/brands/ipas/filters.py +203 -0
  177. gbdtransformation/brands/ipas/template.yml +185 -0
  178. gbdtransformation/brands/istm/__init__.py +10 -0
  179. gbdtransformation/brands/istm/filters.py +60 -0
  180. gbdtransformation/brands/istm/schema +53 -0
  181. gbdtransformation/brands/istm/template.yml +119 -0
  182. gbdtransformation/brands/ittm/__init__.py +6 -0
  183. gbdtransformation/brands/ittm/filters.py +114 -0
  184. gbdtransformation/brands/ittm/schema +104 -0
  185. gbdtransformation/brands/ittm/template.yml +107 -0
  186. gbdtransformation/brands/jotm/__init__.py +8 -0
  187. gbdtransformation/brands/jotm/filters.py +61 -0
  188. gbdtransformation/brands/jotm/schema +86 -0
  189. gbdtransformation/brands/jotm/template.yml +1 -0
  190. gbdtransformation/brands/jotm/tests/__init__.py +0 -0
  191. gbdtransformation/brands/jotm/tests/test.xml +84 -0
  192. gbdtransformation/brands/jptm/__init__.py +6 -0
  193. gbdtransformation/brands/jptm/filters.py +79 -0
  194. gbdtransformation/brands/jptm/schema +39 -0
  195. gbdtransformation/brands/jptm/template.yml +113 -0
  196. gbdtransformation/brands/ketm/__init__.py +9 -0
  197. gbdtransformation/brands/ketm/filters.py +77 -0
  198. gbdtransformation/brands/ketm/schema +86 -0
  199. gbdtransformation/brands/ketm/template.yml +1 -0
  200. gbdtransformation/brands/ketm/tests/__init__.py +0 -0
  201. gbdtransformation/brands/kgtm/__init__.py +6 -0
  202. gbdtransformation/brands/kgtm/filters.py +67 -0
  203. gbdtransformation/brands/kgtm/schema +27 -0
  204. gbdtransformation/brands/kgtm/template.yml +58 -0
  205. gbdtransformation/brands/khtm/__init__.py +14 -0
  206. gbdtransformation/brands/khtm/filters.py +134 -0
  207. gbdtransformation/brands/khtm/schema +86 -0
  208. gbdtransformation/brands/khtm/template.yml +1 -0
  209. gbdtransformation/brands/khtm/tests/__init__.py +0 -0
  210. gbdtransformation/brands/khtm/tests/khtm.xml +122 -0
  211. gbdtransformation/brands/krtm/__init__.py +6 -0
  212. gbdtransformation/brands/krtm/filters.py +136 -0
  213. gbdtransformation/brands/krtm/schema +179 -0
  214. gbdtransformation/brands/krtm/template.yml +186 -0
  215. gbdtransformation/brands/kwtm/__init__.py +2 -0
  216. gbdtransformation/brands/kwtm/filters.py +69 -0
  217. gbdtransformation/brands/kwtm/schema +86 -0
  218. gbdtransformation/brands/kwtm/template.yml +1 -0
  219. gbdtransformation/brands/kwtm/tests/__init__.py +0 -0
  220. gbdtransformation/brands/kwtm/tests/test.xml +84 -0
  221. gbdtransformation/brands/kztm/__init__.py +242 -0
  222. gbdtransformation/brands/kztm/filters.py +140 -0
  223. gbdtransformation/brands/kztm/schema +36 -0
  224. gbdtransformation/brands/kztm/template.yml +117 -0
  225. gbdtransformation/brands/latm/__init__.py +7 -0
  226. gbdtransformation/brands/latm/filters.py +93 -0
  227. gbdtransformation/brands/latm/schema +86 -0
  228. gbdtransformation/brands/latm/template.yml +1 -0
  229. gbdtransformation/brands/latm/tests/__init__.py +0 -0
  230. gbdtransformation/brands/latm/tests/test.xml +112 -0
  231. gbdtransformation/brands/lktm/__init__.py +5 -0
  232. gbdtransformation/brands/lktm/filters.py +83 -0
  233. gbdtransformation/brands/lktm/schema +87 -0
  234. gbdtransformation/brands/lktm/template.yml +1 -0
  235. gbdtransformation/brands/lktm/tests/__init__.py +0 -0
  236. gbdtransformation/brands/matm/__init__.py +3 -0
  237. gbdtransformation/brands/matm/filters.py +36 -0
  238. gbdtransformation/brands/matm/schema +33 -0
  239. gbdtransformation/brands/matm/template.yml +72 -0
  240. gbdtransformation/brands/mctm/__init__.py +3 -0
  241. gbdtransformation/brands/mctm/filters.py +65 -0
  242. gbdtransformation/brands/mctm/schema +128 -0
  243. gbdtransformation/brands/mctm/template.yml +122 -0
  244. gbdtransformation/brands/mdtm/__init__.py +3 -0
  245. gbdtransformation/brands/mdtm/filters.py +64 -0
  246. gbdtransformation/brands/mdtm/schema +128 -0
  247. gbdtransformation/brands/mdtm/template.yml +122 -0
  248. gbdtransformation/brands/metm/__init__.py +5 -0
  249. gbdtransformation/brands/metm/filters.py +87 -0
  250. gbdtransformation/brands/metm/schema +87 -0
  251. gbdtransformation/brands/metm/template.yml +1 -0
  252. gbdtransformation/brands/metm/tests/__init__.py +0 -0
  253. gbdtransformation/brands/mgtm/__init__.py +7 -0
  254. gbdtransformation/brands/mgtm/filters.py +73 -0
  255. gbdtransformation/brands/mgtm/schema +86 -0
  256. gbdtransformation/brands/mgtm/template.yml +1 -0
  257. gbdtransformation/brands/mgtm/tests/__init__.py +0 -0
  258. gbdtransformation/brands/mgtm/tests/test.xml +107 -0
  259. gbdtransformation/brands/mktm/__init__.py +6 -0
  260. gbdtransformation/brands/mktm/filters.py +63 -0
  261. gbdtransformation/brands/mktm/schema +80 -0
  262. gbdtransformation/brands/mktm/template.yml +112 -0
  263. gbdtransformation/brands/mntm/__init__.py +11 -0
  264. gbdtransformation/brands/mntm/filters.py +99 -0
  265. gbdtransformation/brands/mntm/schema +86 -0
  266. gbdtransformation/brands/mntm/template.yml +1 -0
  267. gbdtransformation/brands/mntm/tests/__init__.py +0 -0
  268. gbdtransformation/brands/mwtm/__init__.py +11 -0
  269. gbdtransformation/brands/mwtm/filters.py +80 -0
  270. gbdtransformation/brands/mwtm/schema +86 -0
  271. gbdtransformation/brands/mwtm/template.yml +1 -0
  272. gbdtransformation/brands/mwtm/tests/__init__.py +0 -0
  273. gbdtransformation/brands/mxtm/__init__.py +6 -0
  274. gbdtransformation/brands/mxtm/filters.py +77 -0
  275. gbdtransformation/brands/mxtm/schema +81 -0
  276. gbdtransformation/brands/mxtm/template.yml +127 -0
  277. gbdtransformation/brands/mytm/__init__.py +17 -0
  278. gbdtransformation/brands/mytm/filters.py +125 -0
  279. gbdtransformation/brands/mytm/schema +86 -0
  280. gbdtransformation/brands/mytm/template.yml +1 -0
  281. gbdtransformation/brands/mytm/tests/__init__.py +0 -0
  282. gbdtransformation/brands/mytm/tests/example.xml +132 -0
  283. gbdtransformation/brands/mytm/tests/mytm.xml +132 -0
  284. gbdtransformation/brands/mztm/__init__.py +14 -0
  285. gbdtransformation/brands/mztm/filters.py +89 -0
  286. gbdtransformation/brands/mztm/schema +86 -0
  287. gbdtransformation/brands/mztm/template.yml +1 -0
  288. gbdtransformation/brands/mztm/tests/__init__.py +0 -0
  289. gbdtransformation/brands/natm/__init__.py +11 -0
  290. gbdtransformation/brands/natm/filters.py +88 -0
  291. gbdtransformation/brands/natm/schema +86 -0
  292. gbdtransformation/brands/natm/template.yml +1 -0
  293. gbdtransformation/brands/natm/tests/__init__.py +0 -0
  294. gbdtransformation/brands/notm/__init__.py +5 -0
  295. gbdtransformation/brands/notm/filters.py +170 -0
  296. gbdtransformation/brands/notm/template.yml +289 -0
  297. gbdtransformation/brands/nztm/__init__.py +3 -0
  298. gbdtransformation/brands/nztm/filters.py +126 -0
  299. gbdtransformation/brands/nztm/schema +197 -0
  300. gbdtransformation/brands/nztm/template.yml +161 -0
  301. gbdtransformation/brands/oatm/__init__.py +18 -0
  302. gbdtransformation/brands/oatm/filters.py +82 -0
  303. gbdtransformation/brands/oatm/schema +87 -0
  304. gbdtransformation/brands/oatm/template.yml +1 -0
  305. gbdtransformation/brands/oatm/tests/__init__.py +0 -0
  306. gbdtransformation/brands/omtm/__init__.py +5 -0
  307. gbdtransformation/brands/omtm/filters.py +60 -0
  308. gbdtransformation/brands/omtm/schema +86 -0
  309. gbdtransformation/brands/omtm/template.yml +1 -0
  310. gbdtransformation/brands/omtm/tests/__init__.py +0 -0
  311. gbdtransformation/brands/omtm/tests/test.xml +84 -0
  312. gbdtransformation/brands/patm/__init__.py +8 -0
  313. gbdtransformation/brands/patm/filters.py +149 -0
  314. gbdtransformation/brands/patm/template.yml +40 -0
  315. gbdtransformation/brands/petm/__init__.py +6 -0
  316. gbdtransformation/brands/petm/filters.py +90 -0
  317. gbdtransformation/brands/petm/schema +114 -0
  318. gbdtransformation/brands/petm/template.yml +143 -0
  319. gbdtransformation/brands/pgtm/__init__.py +5 -0
  320. gbdtransformation/brands/pgtm/filters.py +76 -0
  321. gbdtransformation/brands/pgtm/schema +86 -0
  322. gbdtransformation/brands/pgtm/template.yml +1 -0
  323. gbdtransformation/brands/pgtm/tests/__init__.py +0 -0
  324. gbdtransformation/brands/pgtm/tests/pgtm.xml +128 -0
  325. gbdtransformation/brands/phtm/__init__.py +14 -0
  326. gbdtransformation/brands/phtm/filters.py +169 -0
  327. gbdtransformation/brands/phtm/schema +79 -0
  328. gbdtransformation/brands/phtm/schema.classic +50 -0
  329. gbdtransformation/brands/phtm/template.classic.yml +102 -0
  330. gbdtransformation/brands/phtm/template.yml +189 -0
  331. gbdtransformation/brands/pttm/__init__.py +0 -0
  332. gbdtransformation/brands/pttm/filters.py +0 -0
  333. gbdtransformation/brands/pttm/schema +0 -0
  334. gbdtransformation/brands/pttm/template.yml +0 -0
  335. gbdtransformation/brands/pytm/__init__.py +6 -0
  336. gbdtransformation/brands/pytm/filters.py +136 -0
  337. gbdtransformation/brands/pytm/template.yml +40 -0
  338. gbdtransformation/brands/qatm/__init__.py +5 -0
  339. gbdtransformation/brands/qatm/filters.py +81 -0
  340. gbdtransformation/brands/qatm/schema +87 -0
  341. gbdtransformation/brands/qatm/template.yml +1 -0
  342. gbdtransformation/brands/qatm/tests/__init__.py +0 -0
  343. gbdtransformation/brands/rotm/__init__.py +3 -0
  344. gbdtransformation/brands/rotm/filters.py +82 -0
  345. gbdtransformation/brands/rotm/schema +128 -0
  346. gbdtransformation/brands/rotm/template.yml +121 -0
  347. gbdtransformation/brands/rstm/__init__.py +5 -0
  348. gbdtransformation/brands/rstm/filters.py +88 -0
  349. gbdtransformation/brands/rstm/schema +86 -0
  350. gbdtransformation/brands/rstm/template.yml +1 -0
  351. gbdtransformation/brands/rstm/tests/__init__.py +0 -0
  352. gbdtransformation/brands/rutm/__init__.py +14 -0
  353. gbdtransformation/brands/rutm/filters.py +82 -0
  354. gbdtransformation/brands/rutm/schema +94 -0
  355. gbdtransformation/brands/rutm/template.yml +105 -0
  356. gbdtransformation/brands/sdtm/__init__.py +5 -0
  357. gbdtransformation/brands/sdtm/filters.py +59 -0
  358. gbdtransformation/brands/sdtm/schema +86 -0
  359. gbdtransformation/brands/sdtm/template.yml +1 -0
  360. gbdtransformation/brands/sdtm/tests/__init__.py +0 -0
  361. gbdtransformation/brands/sdtm/tests/test.xml +84 -0
  362. gbdtransformation/brands/sgtm/__init__.py +16 -0
  363. gbdtransformation/brands/sgtm/filters.py +177 -0
  364. gbdtransformation/brands/sgtm/schema +213 -0
  365. gbdtransformation/brands/sgtm/template.article6ter.yml +48 -0
  366. gbdtransformation/brands/sgtm/template.r13.yml +45 -0
  367. gbdtransformation/brands/sgtm/template.trademark.yml +148 -0
  368. gbdtransformation/brands/sgtm/template.yml +9 -0
  369. gbdtransformation/brands/smtm/__init__.py +6 -0
  370. gbdtransformation/brands/smtm/filters.py +77 -0
  371. gbdtransformation/brands/smtm/schema +86 -0
  372. gbdtransformation/brands/smtm/template.yml +1 -0
  373. gbdtransformation/brands/smtm/tests/__init__.py +0 -0
  374. gbdtransformation/brands/smtm/tests/test.xml +133 -0
  375. gbdtransformation/brands/solrjtm/__init__.py +1 -0
  376. gbdtransformation/brands/solrjtm/filters.py +85 -0
  377. gbdtransformation/brands/solrjtm/template.yml +195 -0
  378. gbdtransformation/brands/st66tm/__init__.py +1 -0
  379. gbdtransformation/brands/st66tm/filters.py +33 -0
  380. gbdtransformation/brands/st66tm/st66tm.tmpl +219 -0
  381. gbdtransformation/brands/sttm/__init__.py +18 -0
  382. gbdtransformation/brands/sttm/filters.py +72 -0
  383. gbdtransformation/brands/sttm/schema +83 -0
  384. gbdtransformation/brands/sttm/template.yml +1 -0
  385. gbdtransformation/brands/sttm/tests/__init__.py +0 -0
  386. gbdtransformation/brands/sztm/__init__.py +14 -0
  387. gbdtransformation/brands/sztm/filters.py +72 -0
  388. gbdtransformation/brands/sztm/schema +86 -0
  389. gbdtransformation/brands/sztm/template.yml +1 -0
  390. gbdtransformation/brands/sztm/tests/__init__.py +0 -0
  391. gbdtransformation/brands/thtm/__init__.py +2 -0
  392. gbdtransformation/brands/thtm/filters.py +86 -0
  393. gbdtransformation/brands/thtm/schema +86 -0
  394. gbdtransformation/brands/thtm/template.yml +175 -0
  395. gbdtransformation/brands/thtm/tests/__init__.py +0 -0
  396. gbdtransformation/brands/thtm/tests/test.xml +84 -0
  397. gbdtransformation/brands/tntm/__init__.py +16 -0
  398. gbdtransformation/brands/tntm/filters.py +89 -0
  399. gbdtransformation/brands/tntm/schema +87 -0
  400. gbdtransformation/brands/tntm/template.yml +1 -0
  401. gbdtransformation/brands/tntm/tests/__init__.py +0 -0
  402. gbdtransformation/brands/totm/__init__.py +5 -0
  403. gbdtransformation/brands/totm/filters.py +72 -0
  404. gbdtransformation/brands/totm/schema +86 -0
  405. gbdtransformation/brands/totm/template.yml +1 -0
  406. gbdtransformation/brands/totm/tests/__init__.py +0 -0
  407. gbdtransformation/brands/totm/tests/nofeature.xml +106 -0
  408. gbdtransformation/brands/totm/tests/syntax.xml +162 -0
  409. gbdtransformation/brands/totm/tests/test.xml +84 -0
  410. gbdtransformation/brands/tttm/__init__.py +17 -0
  411. gbdtransformation/brands/tttm/filters.py +79 -0
  412. gbdtransformation/brands/tttm/schema +87 -0
  413. gbdtransformation/brands/tttm/template.yml +1 -0
  414. gbdtransformation/brands/tttm/tests/__init__.py +0 -0
  415. gbdtransformation/brands/uatm/__init__.py +18 -0
  416. gbdtransformation/brands/uatm/filters.py +70 -0
  417. gbdtransformation/brands/uatm/schema +158 -0
  418. gbdtransformation/brands/uatm/template.yml +148 -0
  419. gbdtransformation/brands/ustm/__init__.py +187 -0
  420. gbdtransformation/brands/ustm/filters.py +227 -0
  421. gbdtransformation/brands/ustm/schema +2183 -0
  422. gbdtransformation/brands/ustm/template.yml +219 -0
  423. gbdtransformation/brands/uytm/__init__.py +3 -0
  424. gbdtransformation/brands/uytm/filters.py +64 -0
  425. gbdtransformation/brands/uytm/schema +106 -0
  426. gbdtransformation/brands/uytm/template.yml +137 -0
  427. gbdtransformation/brands/vctm/__init__.py +5 -0
  428. gbdtransformation/brands/vctm/filters.py +75 -0
  429. gbdtransformation/brands/vctm/schema +87 -0
  430. gbdtransformation/brands/vctm/template.yml +1 -0
  431. gbdtransformation/brands/vctm/tests/__init__.py +0 -0
  432. gbdtransformation/brands/vntm/__init__.py +9 -0
  433. gbdtransformation/brands/vntm/filters.py +84 -0
  434. gbdtransformation/brands/vntm/schema +86 -0
  435. gbdtransformation/brands/vntm/template.yml +1 -0
  436. gbdtransformation/brands/vntm/tests/__init__.py +0 -0
  437. gbdtransformation/brands/vutm/__init__.py +5 -0
  438. gbdtransformation/brands/vutm/filters.py +67 -0
  439. gbdtransformation/brands/vutm/schema +83 -0
  440. gbdtransformation/brands/vutm/template.yml +1 -0
  441. gbdtransformation/brands/vutm/tests/__init__.py +0 -0
  442. gbdtransformation/brands/whoinn/__init__.py +6 -0
  443. gbdtransformation/brands/whoinn/filters.py +46 -0
  444. gbdtransformation/brands/whoinn/schema +4 -0
  445. gbdtransformation/brands/whoinn/template.yml +45 -0
  446. gbdtransformation/brands/wo6ter/__init__.py +1 -0
  447. gbdtransformation/brands/wo6ter/filters.py +88 -0
  448. gbdtransformation/brands/wo6ter/template.yml +88 -0
  449. gbdtransformation/brands/woao/__init__.py +1 -0
  450. gbdtransformation/brands/woao/filters.py +107 -0
  451. gbdtransformation/brands/woao/schema +116 -0
  452. gbdtransformation/brands/woao/template.yml +90 -0
  453. gbdtransformation/brands/woptm/__init__.py +3 -0
  454. gbdtransformation/brands/woptm/filters.py +42 -0
  455. gbdtransformation/brands/woptm/template.yml +2 -0
  456. gbdtransformation/brands/wotm/__init__.py +3 -0
  457. gbdtransformation/brands/wotm/filters.py +127 -0
  458. gbdtransformation/brands/wotm/schema +218 -0
  459. gbdtransformation/brands/wotm/template.yml +220 -0
  460. gbdtransformation/brands/wstm/__init__.py +6 -0
  461. gbdtransformation/brands/wstm/filters.py +67 -0
  462. gbdtransformation/brands/wstm/schema +86 -0
  463. gbdtransformation/brands/wstm/template.yml +1 -0
  464. gbdtransformation/brands/wstm/tests/__init__.py +0 -0
  465. gbdtransformation/brands/wstm/tests/test.xml +132 -0
  466. gbdtransformation/brands/xxxx/__init__.py +6 -0
  467. gbdtransformation/brands/xxxx/filters.py +60 -0
  468. gbdtransformation/brands/xxxx/schema +4 -0
  469. gbdtransformation/brands/xxxx/template.yml +363 -0
  470. gbdtransformation/brands/zmtm/__init__.py +12 -0
  471. gbdtransformation/brands/zmtm/filters.py +79 -0
  472. gbdtransformation/brands/zmtm/schema +86 -0
  473. gbdtransformation/brands/zmtm/template.yml +1 -0
  474. gbdtransformation/brands/zmtm/tests/__init__.py +0 -0
  475. gbdtransformation/brands/zwtm/__init__.py +3 -0
  476. gbdtransformation/brands/zwtm/filters.py +86 -0
  477. gbdtransformation/brands/zwtm/schema +86 -0
  478. gbdtransformation/brands/zwtm/template.yml +1 -0
  479. gbdtransformation/brands/zwtm/tests/__init__.py +0 -0
  480. gbdtransformation/common/__init__.py +383 -0
  481. gbdtransformation/common/filters.py +418 -0
  482. gbdtransformation/common/jpap/__init__.py +1 -0
  483. gbdtransformation/common/jpap/filters.py +83 -0
  484. gbdtransformation/common/jpap/template.yml +37 -0
  485. gbdtransformation/common/jpbase/__init__.py +1 -0
  486. gbdtransformation/common/jpbase/filters.py +93 -0
  487. gbdtransformation/common/jpbase/template.yml +51 -0
  488. gbdtransformation/common/jprp/__init__.py +1 -0
  489. gbdtransformation/common/jprp/filters.py +86 -0
  490. gbdtransformation/common/jprp/template.yml +51 -0
  491. gbdtransformation/common/navigation.tmpl +12 -0
  492. gbdtransformation/commons/__init__.py +0 -0
  493. gbdtransformation/commons/emap/__init__.py +1 -0
  494. gbdtransformation/commons/emap/filters.py +16 -0
  495. gbdtransformation/commons/emap/template.yml +55 -0
  496. gbdtransformation/commons/emrp/__init__.py +1 -0
  497. gbdtransformation/commons/emrp/filters.py +14 -0
  498. gbdtransformation/commons/emrp/template.yml +53 -0
  499. gbdtransformation/commons/filters.py +3 -0
  500. gbdtransformation/designs/__init__.py +8 -0
  501. gbdtransformation/designs/alid/__init__.py +5 -0
  502. gbdtransformation/designs/alid/filters.py +69 -0
  503. gbdtransformation/designs/alid/schema +89 -0
  504. gbdtransformation/designs/alid/template.yml +1 -0
  505. gbdtransformation/designs/bnid/__init__.py +5 -0
  506. gbdtransformation/designs/bnid/filters.py +61 -0
  507. gbdtransformation/designs/bnid/schema +80 -0
  508. gbdtransformation/designs/bnid/template.yml +1 -0
  509. gbdtransformation/designs/bwid/__init__.py +6 -0
  510. gbdtransformation/designs/bwid/filters.py +64 -0
  511. gbdtransformation/designs/bwid/schema +101 -0
  512. gbdtransformation/designs/bwid/template.yml +1 -0
  513. gbdtransformation/designs/crid/__init__.py +5 -0
  514. gbdtransformation/designs/crid/filters.py +63 -0
  515. gbdtransformation/designs/crid/schema +94 -0
  516. gbdtransformation/designs/crid/template.yml +1 -0
  517. gbdtransformation/designs/cuid/__init__.py +5 -0
  518. gbdtransformation/designs/cuid/filters.py +60 -0
  519. gbdtransformation/designs/cuid/schema +98 -0
  520. gbdtransformation/designs/cuid/template.yml +1 -0
  521. gbdtransformation/designs/egid/__init__.py +5 -0
  522. gbdtransformation/designs/egid/filters.py +62 -0
  523. gbdtransformation/designs/egid/schema +82 -0
  524. gbdtransformation/designs/egid/template.yml +1 -0
  525. gbdtransformation/designs/filters.py +73 -0
  526. gbdtransformation/designs/idid/__init__.py +5 -0
  527. gbdtransformation/designs/idid/filters.py +67 -0
  528. gbdtransformation/designs/idid/schema +102 -0
  529. gbdtransformation/designs/idid/template.yml +1 -0
  530. gbdtransformation/designs/ipas/__init__.py +0 -0
  531. gbdtransformation/designs/ipas/filters.py +181 -0
  532. gbdtransformation/designs/ipas/template.yml +174 -0
  533. gbdtransformation/designs/joid/__init__.py +6 -0
  534. gbdtransformation/designs/joid/filters.py +62 -0
  535. gbdtransformation/designs/joid/schema +97 -0
  536. gbdtransformation/designs/joid/template.yml +1 -0
  537. gbdtransformation/designs/keid/__init__.py +5 -0
  538. gbdtransformation/designs/keid/filters.py +62 -0
  539. gbdtransformation/designs/keid/schema +99 -0
  540. gbdtransformation/designs/keid/template.yml +1 -0
  541. gbdtransformation/designs/khid/__init__.py +5 -0
  542. gbdtransformation/designs/khid/filters.py +63 -0
  543. gbdtransformation/designs/khid/schema +100 -0
  544. gbdtransformation/designs/khid/template.yml +1 -0
  545. gbdtransformation/designs/laid/__init__.py +5 -0
  546. gbdtransformation/designs/laid/filters.py +61 -0
  547. gbdtransformation/designs/laid/schema +94 -0
  548. gbdtransformation/designs/laid/template.yml +1 -0
  549. gbdtransformation/designs/mnid/__init__.py +6 -0
  550. gbdtransformation/designs/mnid/filters.py +62 -0
  551. gbdtransformation/designs/mnid/schema +98 -0
  552. gbdtransformation/designs/mnid/template.yml +1 -0
  553. gbdtransformation/designs/myid/__init__.py +5 -0
  554. gbdtransformation/designs/myid/filters.py +60 -0
  555. gbdtransformation/designs/myid/schema +95 -0
  556. gbdtransformation/designs/myid/template.yml +1 -0
  557. gbdtransformation/designs/phid/__init__.py +5 -0
  558. gbdtransformation/designs/phid/filters.py +70 -0
  559. gbdtransformation/designs/phid/schema +95 -0
  560. gbdtransformation/designs/phid/template.yml +1 -0
  561. gbdtransformation/designs/sgid/__init__.py +6 -0
  562. gbdtransformation/designs/sgid/filters.py +66 -0
  563. gbdtransformation/designs/sgid/schema +115 -0
  564. gbdtransformation/designs/sgid/template.yml +1 -0
  565. gbdtransformation/designs/thid/__init__.py +4 -0
  566. gbdtransformation/designs/thid/filters.py +64 -0
  567. gbdtransformation/designs/thid/schema +98 -0
  568. gbdtransformation/designs/thid/template.yml +1 -0
  569. gbdtransformation/designs/tnid/__init__.py +5 -0
  570. gbdtransformation/designs/tnid/filters.py +66 -0
  571. gbdtransformation/designs/tnid/schema +96 -0
  572. gbdtransformation/designs/tnid/template.yml +1 -0
  573. gbdtransformation/designs/vnid/__init__.py +5 -0
  574. gbdtransformation/designs/vnid/filters.py +62 -0
  575. gbdtransformation/designs/vnid/schema +97 -0
  576. gbdtransformation/designs/vnid/template.yml +1 -0
  577. gbdtransformation/designs/woid/__init__.py +2 -0
  578. gbdtransformation/designs/woid/filters.py +372 -0
  579. gbdtransformation/designs/woid/schema +592 -0
  580. gbdtransformation/designs/woid/template.yml +516 -0
  581. gbdtransformation/designs/xxid/__init__.py +2 -0
  582. gbdtransformation/designs/xxid/filters.py +60 -0
  583. gbdtransformation/designs/xxid/schema +4 -0
  584. gbdtransformation/designs/xxid/template.yml +358 -0
  585. gbdtransformation/execs-nico.py +709 -0
  586. gbdtransformation/execs.py +734 -0
  587. gbdtransformation/gbd-transform.exec.tgz +0 -0
  588. gbdtransformation/parser.py +190 -0
  589. gbdtransformation/renders.py +149 -0
  590. gbdtransformation/utilities/ISOCountryCodeType-V2006.xsd +1245 -0
  591. gbdtransformation/utilities/ISOCurrencyCodeType-V2001.xsd +855 -0
  592. gbdtransformation/utilities/ISOLanguageCodeType-V2002.xsd +715 -0
  593. gbdtransformation/utilities/WIPOST3CodeType-V2007.xsd +1151 -0
  594. gbdtransformation/utilities/__init__.py +0 -0
  595. gbdtransformation/utilities/st66.dot +2828 -0
  596. gbdtransformation/utilities/st66.pdf +0 -0
  597. gbdtransformation/utilities/st66.py +38700 -0
  598. gbdtransformation/utilities/st66.xsd +4174 -0
  599. schemas/ShazamConfig.py +35 -0
  600. schemas/__init__.py +0 -0
  601. schemas/schema_extractor.py +300 -0
  602. wipo_gbd_transformation-1.1.105.dist-info/LICENSE.md +687 -0
  603. wipo_gbd_transformation-1.1.105.dist-info/METADATA +25 -0
  604. wipo_gbd_transformation-1.1.105.dist-info/RECORD +607 -0
  605. wipo_gbd_transformation-1.1.105.dist-info/WHEEL +5 -0
  606. wipo_gbd_transformation-1.1.105.dist-info/entry_points.txt +6 -0
  607. wipo_gbd_transformation-1.1.105.dist-info/top_level.txt +2 -0
@@ -0,0 +1,186 @@
1
+ {% from 'navigation.tmpl' import match %}
2
+
3
+ {% set (trademark, header) = TrademarkTransaction.TrademarkTransactionBody.TransactionContentBag.TransactionData | get_trademark_root %}
4
+ {% set status = trademark | translate_status %}
5
+ {% set comma = ',' %}
6
+ {% set kind = trademark.MarkCategory | translate_kind %}
7
+ {% set appyear = header.ApplicationNumber.ApplicationNumberText | get_appyear %}
8
+
9
+ gbdStatus: {{ status }}
10
+ st13: {{ header.ApplicationNumber.ApplicationNumberText | st13('KR', appdate=appyear) }}
11
+ registrationOfficeCode: KR # division marks donot have RegistrationOfficeCode
12
+ type: TRADEMARK
13
+
14
+ {% if not status == 'Delete' %}
15
+ kind: {{ kind }}
16
+
17
+ designatedCountries:
18
+ - KR
19
+ filingPlace: {{ trademark.FilingPlace }}
20
+
21
+ markFeature: {{ trademark | translate_feature(status) }}
22
+ applicationNumber: {{ header.ApplicationNumber.ApplicationNumberText}}
23
+ applicationDate: {{ header.ApplicationDate | convertdate('%Y-%m-%d') }}
24
+ registrationNumber: {{ header.RegistrationNumber }}
25
+ registrationDate: {{ header.RegistrationDate | convertdate('%Y-%m-%d') }}
26
+ applicationLanguageCode: ko
27
+ expiryDate: {{ trademark.ExpiryDate | convertdate('%Y-%m-%d') }}
28
+ terminationDate: {{ trademark.TerminationDate | convertdate('%Y-%m-%d') }}
29
+ officeStatus: {{ trademark.KRMarkCurrentStatusCode }}
30
+ statusDate: {{ trademark.MarkCurrentStatusDate | convertdate('%Y-%m-%d') }}
31
+
32
+ markDescriptionDetails:
33
+ {% call(description) match('MarkRepresentation.MarkDescriptionBag.MarkDescriptionText', trademark) %}
34
+ - languageCode: {{ description | guess_language(trademark.ApplicationLanguageCode) }}
35
+ text: {{ description }}
36
+ {% endcall %}
37
+
38
+ {% call(wspec) match('MarkRepresentation.MarkReproduction.KRWordMarkSpecification', trademark) %}
39
+ wordMarkSpecification:
40
+ {% set (verbal, signif) = wspec | get_mark_names %}
41
+ markVerbalElement:
42
+ - languageCode: {{ verbal | guess_language(trademark.ApplicationLanguageCode) }}
43
+ text: {{ verbal }}
44
+ markSignificantVerbalElement:
45
+ - languageCode: {{ signif | guess_language(trademark.ApplicationLanguageCode) }}
46
+ text: {{ signif }}
47
+ {% endcall %}
48
+
49
+ markImageDetails:
50
+ {% call(img) match('MarkRepresentation.MarkReproduction.MarkImageBag.MarkImage', trademark) %}
51
+ - name: {{ img.ImageFileName }}
52
+ {% if img.MarkImageCategory.KRCategoryCodeBag.CategoryCode %}
53
+ classification:
54
+ kind: Vienna
55
+ code:
56
+ {% call(vienna) match('MarkImageCategory.KRCategoryCodeBag.CategoryCode', img) %}
57
+ - {{ vienna }}
58
+ {% endcall %}
59
+ {% endif %}
60
+ {% endcall %}
61
+
62
+ markSoundDetails:
63
+ {% call(sound) match('MarkRepresentation.MarkReproduction.MarkSoundBag.MarkSound', trademark) %}
64
+ - filename: {{ sound.MarkSoundFileName}}
65
+ fileformat: {{ sound.SoundFileFormatCategory }}
66
+ {% endcall %}
67
+
68
+ markVideoDetails:
69
+ {% call(video) match('MarkRepresentation.MarkReproduction.MarkMultimediaBag.MarkMultimedia', trademark) %}
70
+ - filename: {{ video.FileName }}
71
+ fileformat: {{ video.MarkMultimediaFileFormatCategory }}
72
+ {% endcall %}
73
+
74
+ {% set (nice_class, domestic_class) = trademark.GoodsServicesBag.GoodsServices | get_classification %}
75
+
76
+ {% if (nice_class | length) > 0 %}
77
+ goodsServicesClassification:
78
+ kind: Nice
79
+ version: {{ (nice_class | first).ClassificationVersion }}
80
+ class:
81
+ {% for nice in nice_class %}
82
+ {% if not nice.ClassDescriptionBag.ClassDescription.ClassNumber == '00' %}
83
+ - code: {{ nice.ClassDescriptionBag.ClassDescription.ClassNumber | int }}
84
+ terms:
85
+ ko:
86
+ {% for gsline in nice.ClassDescriptionBag.ClassDescription.GoodsServicesDescriptionText | remove_trailing('.') | split_terms(separator=comma) %}
87
+ - {{ gsline }}
88
+ {% endfor %}
89
+ {% endif %}
90
+ {% endfor %}
91
+ {% endif %}
92
+
93
+ {% if (domestic_class | length) > 0 %}
94
+ nationalGoodsServicesClassification:
95
+ kind: KIPO
96
+ version: {{ (domestic_class | first).ClassificationVersion }}
97
+ class:
98
+ {% for domestic in domestic_class %}
99
+ - code: {{ domestic.ClassDescriptionBag.ClassDescription.ClassNumber }}
100
+ terms:
101
+ ko:
102
+ {% for gsline in domestic.ClassDescriptionBag.ClassDescription.GoodsServicesDescriptionText | remove_trailing('.') | split_terms(separator=comma) %}
103
+ - {{ gsline }}
104
+ {% endfor %}
105
+ {% endfor %}
106
+ {% endif %}
107
+
108
+ goodsServicesUnclassified:
109
+ {% call(goodsServices) match('GoodsServicesBag.GoodsServices', trademark) %}
110
+ {% if goodsServices.ClassificationKindCode == 'Nice' %}
111
+ {% call(nice) match('ClassDescriptionBag.ClassDescription', goodsServices) %}
112
+ {% if nice.ClassNumber == '00' %}
113
+ ko:
114
+ {% for gsline in nice.GoodsServicesDescriptionText | remove_trailing('.') | split_terms %}
115
+ - {{ gsline }}
116
+ {% endfor %}
117
+ {% endif %}
118
+ {% endcall %}
119
+ {% endif %}
120
+ {% endcall %}
121
+
122
+ priorities:
123
+ {% call(priority) match('PriorityBag.Priority', trademark) %}
124
+ - countryCode: {{ priority.PriorityCountryCode }}
125
+ number: {{ priority.ApplicationNumber.ApplicationNumberText | remove_trailing('-') }}
126
+ date: {{ priority.PriorityApplicationFilingDate }}
127
+ {% endcall %}
128
+
129
+ publications:
130
+ {% call(publication) match('PublicationBag.Publication', trademark) %}
131
+ - identifier: {{ publication.PublicationIdentifier }}
132
+ date: {{ publication.PublicationDate }}
133
+ {% endcall %}
134
+
135
+ applicants:
136
+ {% call(applicant) match('ApplicantBag.Applicant', trademark) %}
137
+ - identifier: {{ applicant.LegalEntityName }}
138
+ {% call(contact) match('Contact', applicant) %}
139
+ fullName:
140
+ - text: {{ contact.Name.PersonName.PersonFullName }}
141
+ languageCode: {{ contact.Name.PersonName.PersonFullName | guess_language(trademark.ApplicationLanguageCode) }}
142
+ fullAddress:
143
+ {% call(adrline) match('PostalAddressBag.PostalAddress', contact) %}
144
+ - text: {{ adrline.PostalAddressText}}
145
+ languageCode: {{ adrline.PostalAddressText | guess_language(trademark.ApplicationLanguageCode) }}
146
+ {% endcall %}
147
+ countryCode: {{ applicant.NationalityCode | remove_numerics }}
148
+ {% endcall %}
149
+ {% endcall %}
150
+
151
+ # happens with Division marks
152
+ {% if not trademark.ApplicantBag %}
153
+ applicants:
154
+ {% call(applicant) match('Registrant', trademark) %}
155
+ - identifier: {{ applicant.LegalEntityName }}
156
+ {% call(contact) match('Contact', applicant) %}
157
+ fullName:
158
+ - text: {{ contact.Name.PersonName.PersonFullName }}
159
+ languageCode: {{ contact.Name.PersonName.PersonFullName | guess_language(trademark.ApplicationLanguageCode) }}
160
+ fullAddress:
161
+ {% call(adrline) match('PostalAddressBag.PostalAddress', contact) %}
162
+ - text: {{ adrline.PostalAddressText}}
163
+ languageCode: {{ adrline.PostalAddressText | guess_language(trademark.ApplicationLanguageCode) }}
164
+ {% endcall %}
165
+ countryCode: {{ applicant.NationalityCode | remove_numerics }}
166
+ {% endcall %}
167
+ {% endcall %}
168
+ {% endif %}
169
+
170
+ representatives:
171
+ {% call(representative) match('RepresentativeBag.Representative', trademark) %}
172
+ {% call(contact) match('Contact', representative) %}
173
+ - fullName:
174
+ - text: {{ contact.Name.PersonName.PersonFullName }}
175
+ languageCode: {{ contact.Name.PersonName.PersonFullName | guess_language(trademark.ApplicationLanguageCode) }}
176
+ fullAddress:
177
+ {% call(adrline) match('PostalAddressBag.PostalAddress', contact) %}
178
+ - text: {{ adrline.PostalAddressText}}
179
+ languageCode: {{ adrline.PostalAddressText | guess_language(trademark.ApplicationLanguageCode) }}
180
+ {% endcall %}
181
+ countryCode: {{ representative.NationalityCode }}
182
+ kind: {{ representative.RepresentativeCategory | remove_numerics}}
183
+ {% endcall %}
184
+ {% endcall %}
185
+
186
+ {% endif %}
@@ -0,0 +1,2 @@
1
+ render = 'JSON'
2
+ source = 'national'
@@ -0,0 +1,69 @@
1
+ import gbdtransformation.brands.ipas.filters as ipas
2
+
3
+ ignore_namespace = [
4
+ 'http://www.wipo.int/standards/XMLSchema/trademarks',
5
+ 'http://www.wipo.int/standards/XMLSchema/wo-trademarks']
6
+
7
+ def get_appdate(appdate, appnum):
8
+ return ipas.get_appdate(appdate, appnum)
9
+
10
+ # no way to find out more
11
+ def translate_type(header):
12
+ return 'TRADEMARK'
13
+
14
+ # no way to find out more
15
+ def translate_kind(trademark, header):
16
+ subcode = header.TransactionSubCode
17
+
18
+ if subcode == 'طلب علامة سلع وخدمات': return ['Individual']
19
+ if subcode == 'علامة جماعية': return ['Collective']
20
+ if subcode == 'طلب علامة مراقبة': return ['Certificate']
21
+
22
+ def translate_status(trademark):
23
+ status = trademark.MarkCurrentStatusCode
24
+
25
+ return ipas.translate_status(status)
26
+
27
+ def translate_feature(trademark):
28
+ feature = trademark.MarkFeature
29
+
30
+ if not feature: return 'Undefined'
31
+
32
+ return ipas.translate_feature(feature)
33
+
34
+ def translate_event(event):
35
+ if not event: return 'Unknown'
36
+ return ipas.translate_event(event)
37
+
38
+ # ---------------------------------------
39
+
40
+ # looks decent
41
+ def verbal_lang_map(markVerbalElements, applang=None):
42
+ # print( ipas.verbal_lang_map(markVerbalElements, applang=applang))
43
+ return ipas.verbal_lang_map(markVerbalElements, applang=applang)
44
+
45
+ def get_registration_nb(trademark, tmstatus):
46
+ if trademark.RegistrationNumber:
47
+ return trademark.RegistrationNumber
48
+
49
+ if not tmstatus in ['Expired', 'Registered']:
50
+ return None
51
+
52
+ raise Exception('!!')
53
+ # no way to deduce registration number
54
+ return None
55
+
56
+ def get_expiry_date(trademark, tmstatus):
57
+ return ipas.get_expiry_date(trademark, tmstatus)
58
+
59
+ def get_registration_date(trademark, tmstatus):
60
+ return ipas.get_registration_date(trademark, tmstatus)
61
+
62
+ def is_international(header):
63
+ return False
64
+
65
+ def get_ir_refnum(appnum):
66
+ return
67
+
68
+ def get_goods_services(goods_services):
69
+ return ipas.get_goods_services(goods_services)
@@ -0,0 +1,86 @@
1
+ /Transaction
2
+ __/TradeMarkTransactionBody
3
+ ____/TransactionContentDetails
4
+ ______/TransactionCode
5
+ ______/TransactionData
6
+ ________/TradeMarkApplication
7
+ __________/TradeMarkDetails
8
+ ____________/TradeMark
9
+ ______________/ApplicantDetails
10
+ ________________/Applicant
11
+ __________________/ApplicantAddressBook
12
+ ____________________/FormattedNameAddress
13
+ ______________________/Address
14
+ ________________________/AddressCountryCode
15
+ ________________________/FreeFormatAddress
16
+ __________________________/FreeFormatAddressLine
17
+ ______________________/Name
18
+ ________________________/FreeFormatName
19
+ __________________________/FreeFormatNameDetails
20
+ ____________________________/FreeFormatNameLine
21
+ ____________________________/FreeFormatNameLine[@languageCode=en]
22
+ ______________/ApplicationDate
23
+ ______________/ApplicationLanguageCode
24
+ ______________/ApplicationNumber
25
+ ______________/ExpiryDate
26
+ ______________/GoodsServicesDetails
27
+ ________________/GoodsServices
28
+ __________________/ClassDescriptionDetails
29
+ ____________________/ClassDescription
30
+ ______________________/ClassNumber
31
+ ______________________/GoodsServicesDescription
32
+ ______________________/GoodsServicesDescription[@languageCode=en]
33
+ ______________/KindMark
34
+ ______________/MarkCurrentStatusCode
35
+ ______________/MarkCurrentStatusDate
36
+ ______________/MarkDisclaimerDetails
37
+ ________________/MarkDisclaimer
38
+ ________________/MarkDisclaimer[@languageCode=en]
39
+ ______________/MarkEventDetails
40
+ ________________/MarkEvent
41
+ __________________/MarkEventCode
42
+ __________________/MarkEventDate
43
+ __________________/OfficeSpecificMarkEventCode
44
+ __________________/OfficeSpecificMarkEventDescription
45
+ __________________/OfficeSpecificMarkEventDescription[@languageCode=en]
46
+ ______________/MarkFeature
47
+ ______________/MarkImageDetails
48
+ ________________/MarkImage
49
+ __________________/MarkImageCategory
50
+ ____________________/CategoryCodeDetails
51
+ ______________________/CategoryCode
52
+ ____________________/CategoryKind
53
+ ____________________/CategoryVersion
54
+ __________________/MarkImageColourClaimedText
55
+ __________________/MarkImageColourClaimedText[@languageCode=en]
56
+ __________________/MarkImageFileFormat
57
+ __________________/MarkImageFilename
58
+ ______________/PriorityDetails
59
+ ________________/Priority
60
+ __________________/PriorityCountryCode
61
+ __________________/PriorityDate
62
+ __________________/PriorityNumber
63
+ ______________/PublicationDetails
64
+ ________________/Publication
65
+ __________________/PublicationDate
66
+ ______________/RegistrationDate
67
+ ______________/RegistrationNumber
68
+ ______________/RegistrationOfficeCode
69
+ ______________/RepresentativeDetails
70
+ ________________/Representative
71
+ __________________/RepresentativeAddressBook
72
+ ____________________/FormattedNameAddress
73
+ ______________________/Address
74
+ ________________________/AddressCountryCode
75
+ ________________________/FreeFormatAddress
76
+ __________________________/FreeFormatAddressLine
77
+ ______________________/Name
78
+ ________________________/FreeFormatName
79
+ __________________________/FreeFormatNameDetails
80
+ ____________________________/FreeFormatNameLine
81
+ ____________________________/FreeFormatNameLine[@languageCode=en]
82
+ ______________/WordMarkSpecification
83
+ ________________/MarkVerbalElementText
84
+ ________________/MarkVerbalElementText[@languageCode=en]
85
+ ______/TransactionIdentifier
86
+ ______/TransactionSubCode
@@ -0,0 +1 @@
1
+ {% include "ipas/template.yml" %}
File without changes
@@ -0,0 +1,84 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+
3
+ <Transaction xmlns="http://www.wipo.int/standards/XMLSchema/trademarks" xmlns:wo="http://www.wipo.int/standards/XMLSchema/wo-trademarks">
4
+ <TradeMarkTransactionBody>
5
+ <TransactionContentDetails>
6
+ <TransactionIdentifier>M</TransactionIdentifier>
7
+ <TransactionCode>Trademark</TransactionCode>
8
+ <TransactionSubCode>Mark</TransactionSubCode>
9
+ <TransactionData>
10
+ <TradeMarkApplication>
11
+ <TradeMarkDetails>
12
+ <TradeMark>
13
+ <RegistrationOfficeCode>TO</RegistrationOfficeCode>
14
+ <ApplicationNumber>2017/3420</ApplicationNumber>
15
+ <ApplicationDate>2017-07-26</ApplicationDate>
16
+ <ApplicationLanguageCode>en</ApplicationLanguageCode>
17
+ <MarkCurrentStatusDate>2017-09-04</MarkCurrentStatusDate>
18
+ <KindMark>Individual</KindMark>
19
+ <MarkImageDetails>
20
+ <MarkImage/>
21
+ </MarkImageDetails>
22
+ <GoodsServicesDetails>
23
+ <GoodsServices>
24
+ <ClassDescriptionDetails>
25
+ <ClassDescription>
26
+ <ClassNumber>25</ClassNumber>
27
+ <GoodsServicesDescription languageCode="en">Slippers</GoodsServicesDescription>
28
+ </ClassDescription>
29
+ </ClassDescriptionDetails>
30
+ </GoodsServices>
31
+ </GoodsServicesDetails>
32
+ <PublicationDetails>
33
+ <Publication>
34
+ <PublicationDate>2017-11-30</PublicationDate>
35
+ </Publication>
36
+ </PublicationDetails>
37
+ <ApplicantDetails>
38
+ <Applicant>
39
+ <ApplicantAddressBook>
40
+ <FormattedNameAddress>
41
+ <Name>
42
+ <FreeFormatName>
43
+ <FreeFormatNameDetails>
44
+ <FreeFormatNameLine languageCode="en">Lei Signs</FreeFormatNameLine>
45
+ </FreeFormatNameDetails>
46
+ </FreeFormatName>
47
+ </Name>
48
+ <Address>
49
+ <AddressCountryCode>TO</AddressCountryCode>
50
+ <FreeFormatAddress>
51
+ <FreeFormatAddressLine>Fund Management, Nuku'alofa</FreeFormatAddressLine>
52
+ </FreeFormatAddress>
53
+ </Address>
54
+ </FormattedNameAddress>
55
+ </ApplicantAddressBook>
56
+ </Applicant>
57
+ </ApplicantDetails>
58
+ <wo:WordMarkSpecification>
59
+ <wo:MarkVerbalElementText languageCode="en">TOKO</wo:MarkVerbalElementText>
60
+ </wo:WordMarkSpecification>
61
+ <wo:MarkEventDetails>
62
+ <wo:MarkEvent>
63
+ <wo:MarkEventDate>2017-07-26</wo:MarkEventDate>
64
+ <wo:MarkEventCode>Filed</wo:MarkEventCode>
65
+ </wo:MarkEvent>
66
+ <wo:MarkEvent>
67
+ <wo:MarkEventDate>2017-11-30</wo:MarkEventDate>
68
+ <wo:MarkEventCode>Published</wo:MarkEventCode>
69
+ </wo:MarkEvent>
70
+ <wo:MarkEvent>
71
+ <wo:MarkEventDate>2017-09-04</wo:MarkEventDate>
72
+ <wo:MarkEventCode>Examined</wo:MarkEventCode>
73
+ <wo:OfficeSpecificMarkEventCode>1044</wo:OfficeSpecificMarkEventCode>
74
+ <wo:OfficeSpecificMarkEventDescription languageCode="en">To Issue Publication Notice</wo:OfficeSpecificMarkEventDescription>
75
+ </wo:MarkEvent>
76
+ </wo:MarkEventDetails>
77
+ <wo:MarkCurrentStatusCode>Examined</wo:MarkCurrentStatusCode>
78
+ </TradeMark>
79
+ </TradeMarkDetails>
80
+ </TradeMarkApplication>
81
+ </TransactionData>
82
+ </TransactionContentDetails>
83
+ </TradeMarkTransactionBody>
84
+ </Transaction>
@@ -0,0 +1,242 @@
1
+ # instruction to render the output to JSON format
2
+ render = 'JSON'
3
+ source = 'national'
4
+
5
+ countries = {
6
+ 'AU': 'Австралия',
7
+ 'AT': 'Австрия',
8
+ 'AZ': 'Азербайджан',
9
+ 'AL': 'Албания',
10
+ 'DZ': 'Алжир',
11
+ 'AO': 'Ангола',
12
+ 'AI': 'Ангуилла',
13
+ 'AD': 'Андорра',
14
+ 'AQ': 'Антарктика',
15
+ 'AG': ['Антигуа и Барбуда', 'антигуа барбуда'],
16
+ 'AN': ['Антиллы (Нидерланды)', 'нидерландские антильские острова'],
17
+ 'AR': 'Аргентина',
18
+ 'AM': 'Армения',
19
+ 'AW': 'Аруба',
20
+ 'AF': 'Афганистан',
21
+ 'BS': ['Багамы', 'багамские острова'],
22
+ 'BD': 'Бангладеш',
23
+ 'BB': 'Барбадос',
24
+ 'BH': 'Бахрейн',
25
+ 'BY': ['Беларусь', 'республика беларусь'],
26
+ 'BZ': 'Белиз',
27
+ 'BE': 'Бельгия',
28
+ 'BJ': 'Бенин',
29
+ 'CI': 'Берег Слоновой Кости',
30
+ 'BM': ['Бермуды', 'бермудские острова'],
31
+ 'MM': 'Бирма',
32
+ 'MM': 'Мьянма',
33
+ 'BG': 'Болгария',
34
+ 'BO': 'Боливия',
35
+ 'BA': ['Босния-Герцеговина', 'босния и герцеговина'],
36
+ 'BW': 'Ботсвана',
37
+ 'BV': 'Боуветские острова',
38
+ 'BR': 'Бразилия',
39
+ 'BN': 'Бруней',
40
+ 'BF': 'Буркина-Фасо',
41
+ 'BI': 'Бурунди',
42
+ 'BT': 'Бутан',
43
+ 'VU': 'Вануату',
44
+ 'VA': 'Ватикан',
45
+ 'GB': 'Великобритания',
46
+ 'HU': 'Венгрия',
47
+ 'VE': 'Венесуэла',
48
+ 'VG': ['Вирджинские острова (Брит.)', 'британские виргинские острова'],
49
+ 'TL': 'Восточный Тимор',
50
+ 'VN': 'Вьетнам',
51
+ 'GA': 'Габон',
52
+ 'HT': 'Гаити',
53
+ 'GY': 'Гайана',
54
+ 'GM': 'Гамбия',
55
+ 'GH': 'Гана',
56
+ 'GT': 'Гватемала',
57
+ 'GN': 'Гвинея',
58
+ 'GW': 'Гвинея-Бисау',
59
+ 'DE': 'Германия',
60
+ 'GI': 'Гибралтар',
61
+ 'HK': ['Гонг Конг', 'гонконг'],
62
+ 'HN': 'Гондурас',
63
+ 'GD': 'Гренада',
64
+ 'GL': 'Гренландия',
65
+ 'GR': 'Греция',
66
+ 'GE': 'Грузия',
67
+ 'DK': 'Дания',
68
+ 'CD': 'Демократическая Республика Конго',
69
+ 'DJ': 'Джибути',
70
+ 'DM': 'Доминика',
71
+ 'DO': 'Доминиканская Республика',
72
+ 'EG': 'Египет',
73
+ 'ZM': 'Замбия',
74
+ 'EH': 'Западная Сахара',
75
+ 'ZW': 'Зимбабве',
76
+ 'IM': 'остров мэн',
77
+ 'IL': ['Израйль', 'израиль'],
78
+ 'IN': 'Индия',
79
+ 'ID': 'Индонезия',
80
+ 'JO': 'Иордания',
81
+ 'IQ': 'Ирак',
82
+ 'IR': 'Иран',
83
+ 'IE': 'Ирландия',
84
+ 'IS': 'Исландия',
85
+ 'ES': 'Испания',
86
+ 'IT': 'Италия',
87
+ 'YE': 'Йемен',
88
+ 'CV': 'Кабо-Верде',
89
+ 'KZ': 'Казахстан',
90
+ 'KZ': 'Республика Казахстан',
91
+ 'KY': ['Каймановы острова', 'острова кайман'],
92
+ 'KH': 'Камбоджа',
93
+ 'CM': 'Камерун',
94
+ 'CA': 'Канада',
95
+ 'QA': 'Катар',
96
+ 'KE': 'Кения',
97
+ 'CY': 'Кипр',
98
+ 'KG': ['Киргизия', 'кыргызская республика'],
99
+ 'KI': 'Кирибати',
100
+ 'CN': 'Китай',
101
+ 'CC': 'Кокосовые острова',
102
+ 'CO': 'Колумбия',
103
+ 'KM': 'Коморос',
104
+ 'CG': 'Конго',
105
+ 'CR': 'Коста Рикa',
106
+ 'CU': 'Куба',
107
+ 'CW': 'кюрасао',
108
+ 'KW': 'Кувейт',
109
+ 'LA': 'Лаос',
110
+ 'LV': 'Латвия',
111
+ 'LS': 'Лесото',
112
+ 'LR': 'Либерия',
113
+ 'LY': 'Либия',
114
+ 'LB': 'Ливан',
115
+ 'LT': 'Литва',
116
+ 'LI': ['Лихтейнштейн', 'лихтенштейн'],
117
+ 'LU': 'Люксембург',
118
+ 'MR': 'Мавритания',
119
+ 'MU': ['Мавритий', 'маврикий'],
120
+ 'MG': 'Мадагаскар',
121
+ 'MO': 'Макау',
122
+ 'MK': 'Македония',
123
+ 'MW': 'Малави',
124
+ 'MY': 'Малайзия',
125
+ 'ML': 'Мали',
126
+ 'MV': 'Мальдивы',
127
+ 'MT': 'Мальта',
128
+ 'MH': ['Маршальские острова', 'маршалловы острова'],
129
+ 'YT': 'Мейот',
130
+ 'MX': 'Мексика',
131
+ 'FM': 'Микронезия',
132
+ 'MZ': 'Мозамбик',
133
+ 'MD': ['Молдова', 'республика молдова'],
134
+ 'MC': 'Монако',
135
+ 'MN': 'Монголия',
136
+ 'MS': 'Монсеррат',
137
+ 'MA': 'Морокко',
138
+ 'NA': 'Намибия',
139
+ 'NR': 'Науру',
140
+ 'NP': 'Непал',
141
+ 'NE': 'Нигер',
142
+ 'NG': 'Нигерия',
143
+ 'NL': 'Нидерланды',
144
+ 'NI': 'Никарагуаa',
145
+ 'NU': 'Ниуэ',
146
+ 'NZ': 'Новая Зеландия',
147
+ 'NO': 'Норвегия',
148
+ 'NF': 'Норфолкские острова',
149
+ 'AE': 'Объединенные Арабские Эмираты',
150
+ 'OM': 'Оман',
151
+ 'SH': 'Остров Св.Елены',
152
+ 'CK': 'Острова Кука',
153
+ 'PK': 'Пакистан',
154
+ 'PW': 'Палау',
155
+ 'PA': 'Панама',
156
+ 'PG': 'Папуа Новая Гвинея',
157
+ 'PY': 'Парагвай',
158
+ 'PE': 'Перу',
159
+ 'PN': 'Питкерн',
160
+ 'PL': 'Польша',
161
+ 'PT': 'Португалия',
162
+ 'PR': 'Пуэрто-Рико',
163
+ 'CX': 'Рождественские острова',
164
+ 'RU': ['российская федерация',
165
+ 'Россия'],
166
+ 'RW': 'Руанда',
167
+ 'RO': 'Румыния',
168
+ 'US': ['Соединённые Штаты Америки',
169
+ 'Соединенные штаты Америки',
170
+ 'США'],
171
+ 'SV': 'Сальвадор',
172
+ 'WS': 'Самоа',
173
+ 'SM': 'Сан-Марино',
174
+ 'ST': 'Сан-Томе и Принсипи',
175
+ 'LC': 'Санта Лючия',
176
+ 'SA': 'Саудовская Аравия',
177
+ 'SZ': 'Свазиленд',
178
+ 'SJ': 'Сволборд и Ян Майен',
179
+ 'KP': ['Северная Корея','кндр'],
180
+ 'MP': 'Северные Марианские острова',
181
+ 'SC': ['Сейшеллы', 'сейшельские острова', 'сейшелы'],
182
+ 'PM': 'Сен-Пьер и Микелон',
183
+ 'SN': 'Сенегал',
184
+ 'RS': 'сербия',
185
+ 'VC': 'Сент-Висент и Гренадины',
186
+ 'KN': ['Сент-Киттс Нэвис Ангуилла', 'сент-китс и невис'],
187
+ 'SG': 'Сингапур',
188
+ 'SY': 'Сирия',
189
+ 'SK': 'Словакия',
190
+ 'SI': 'Словения',
191
+ 'SB': 'Соломоновы острова',
192
+ 'SO': 'Сомали',
193
+ 'IO': 'Старые Британские Индийские Территории',
194
+ 'SD': 'Судан',
195
+ 'SR': 'Суринам',
196
+ 'SL': 'Сьерра-Леоне',
197
+ 'TJ': 'Таджикистан',
198
+ 'TH': 'Таиланд',
199
+ 'TW': ['Тайвань', 'тайвань, провинция китая'],
200
+ 'TZ': 'Танзания',
201
+ 'TC': 'Теркс и Кайкос',
202
+ 'TG': 'Того',
203
+ 'TK': 'Токелау',
204
+ 'TO': 'Тонга',
205
+ 'TT': 'Тринидад и Тобаго',
206
+ 'TV': 'Тувалу',
207
+ 'TN': 'Тунис',
208
+ 'TM': 'Туркменистан',
209
+ 'TR': 'Турция',
210
+ 'UG': 'Уганда',
211
+ 'UZ': 'Узбекистан',
212
+ 'UA': 'Украина',
213
+ 'WF': 'Уоллис и Футуна',
214
+ 'UY': 'Уругвай',
215
+ 'FO': 'Фарерские острова',
216
+ 'FJ': 'Фиджи',
217
+ 'PH': 'Филиппины',
218
+ 'FI': 'Финляндия',
219
+ 'FR': 'Франция',
220
+ 'TF': 'Французские южные территории',
221
+ 'HR': 'Хорватия',
222
+ 'CF': 'Центрально-Африканская Республика',
223
+ 'TD': 'Чад',
224
+ 'CZ': ['Чешская Республика', 'чехия'],
225
+ 'CL': 'Чили',
226
+ 'CH': 'Швейцария',
227
+ 'SE': 'Швеция',
228
+ 'LK': ['Шри Ланка', 'шри-ланка'],
229
+ 'EC': 'Эквадор',
230
+ 'GQ': 'Экваториальная Гвинея',
231
+ 'ER': 'Эритрея',
232
+ 'EE': 'Эстония',
233
+ 'ET': 'Эфиопия',
234
+ 'YU': 'Югославия',
235
+ 'ZA': 'Южная Африка',
236
+ 'GS': 'Южная Джорджия и Южные Сэндвичевы острова',
237
+ 'KR': ['Южная Корея',
238
+ 'республика корея'],
239
+ 'JM': 'Ямайка',
240
+ 'JP': 'Япония',
241
+ 'JE': 'джерси'
242
+ }