跳转到主要内容

osr文件和osu! lzma重放流的解析器

项目描述

PyPi version

circleparse,一个.osr和lzma解析器

这个分支是为Circlecore设计的,并扩展了上游仓库的功能,允许解析纯lzma字节字符串,而不是整个.osr文件的字节字符串内容。用法

from circleparse import parse_replay

# returns instance of Replay from an lzma bytestring with only the play_data field nonnull.
parse_replay(lzma_byte_string, pure_lzma=True)

请注意,只有存储在lzma字节字符串中的信息存储在Replay实例中。当pure_lzma为true时,replay_data是唯一填充的字段,因为lzma只包含光标定位和按键。更多信息,请参阅维基百科

安装

要安装,只需

pip install circleparse

文档

从文件路径解析重放

from circleparse import parse_replay_file

#returns instance of Replay
parse_replay_file("path/to/osr.osr")

从字节字符串解析重放

from circleparse import parse_replay

#returns instance of Replay given the replay data encoded as a bytestring
parse_replay(byte_string)

Replay实例提供这些字段

self.game_mode #GameMode enum
self.game_version #Integer
self.beatmap_hash #String
self.player_name #String
self.replay_hash #String
self.number_300s #Integer
self.number_100s #Integer
self.number_50s #Integer
self.gekis #Integer
self.katus #Integer
self.misses #Integer
self.score #Integer
self.max_combo #Integer
self.is_perfect_combo #Boolean
self.mod_combination #frozenset of Mods
self.life_bar_graph #String, unparsed as of now
self.timestamp #Python Datetime object
self.play_data #List of ReplayEvent instances

ReplayEvent实例提供这些字段

self.time_since_previous_action #Integer representing time in milliseconds
self.x #x axis location
self.y #y axis location
self.keys_pressed #bitwise sum of keys pressed, documented in OSR format page

项目详情


下载文件

下载适合您的平台的文件。如果您不确定选择哪个,请了解有关安装软件包的更多信息。

源分发

circleparse-6.4.1.tar.gz (4.8 kB 查看哈希值)

上传时间 源码

构建发行版

circleparse-6.4.1-py3-none-any.whl (28.7 kB 查看哈希值)

上传时间 Python 3

支持者