音乐表数据区域相关工具

music-metadata-territories的Python项目详细描述


音乐元数据-区域

Build StatusCoverage StatusGitHubPyPI

一个简单的库,用于处理音乐中使用的区域层次结构 元数据,目前主要集中在CISAC TIS上。在

TIS和ISO之间的转换(DDEX!)领土将在下一个版本中跟进。在

班级

它只有两个类:

  • Territory-领土,例如世界、欧洲、克罗地亚
  • TerritoryList-此类生成包含和排除区域 更简单的是,它还可以在需要的时候分割领土

领土操纵

除美国以外的世界范围内的领土列表最少:

frommusic_metadata.territories.territoryimportTerritoryfrommusic_metadata.territories.territory_listimportTerritoryListworld=Territory.get('2136')usa=Territory.get('US')l=TerritoryList()l.include(world)l.exclude(usa)fortinsorted(l,key=lambdax:x.name):print(f'{t.tis_n:0>4}',t.name)

结果:

^{pr2}$

列出所有国家也很简单:

fortinsorted(l.countries,key=lambdax:x.name):print(f'{t.tis_a:0>4}',t.name)

结果:

AF AFGHANISTAN
AL ALBANIA
DZ ALGERIA
AD ANDORRA
AO ANGOLA
AG ANTIGUA AND BARBUDA
AR ARGENTINA
AM ARMENIA
AU AUSTRALIA
AT AUSTRIA
...

你可以检查一个国家是否最终被列入名单:

usainl
False

份额操纵

通过使用第二个参数 TerritoryList.include和{}。第二个论点可以 是任何允许添加的对象。在

frommusic_metadata.territories.territoryimportTerritoryfrommusic_metadata.territories.territory_listimportTerritoryListworld=Territory.get('2136')usa=Territory.get('US')canada=Territory.get('CA')l=TerritoryList()l.include(world,25)l.add(usa,25)

所以,全世界有25个,美国有25个。 如果我们要求美国和加拿大的价值观:

l[usa],l[canada]

美国有50英镑,加拿大有25英镑。在

(50, 25)

任何数字类型都可以开箱即用, 复杂对象可能需要自定义的__add__方法。给你 数字字段列表示例:

classShares(list):def__add__(self,other):returnShares([self[i]+other[i]foriinrange(len(self))])

测试和演示包装

你可以在线测试,不需要编码技巧:https://music-metadata.herokuapp.com/territories/

演示的代码在这里:https://github.com/musicmetadata/web-wrapper

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何启用TLSv1。3在Tomcat8.5.5中使用JSSE实现   java表单post在jsp中,contentType头没有字符集,为什么?   java My Basic货币转换器程序输出错误   java在Eclipse4中单击最后一个部件(选项卡)时动态创建部件   java 2 servlet,一个在响应中获得ContentLength,另一个则没有   JavaStruts2:如何发送url参数?   linux从java运行bash文件   java TransactionRequiredException执行更新/删除查询   java如何使用JTA插入到表中?   从枚举到泛型的类型的java映射   java使用接口类<T>作为键来获取具体的实例值?