build: optional parquet support
This commit is contained in:
@@ -11,6 +11,8 @@ compio = ["dep:compio"]
|
||||
tokio = ["dep:tokio"]
|
||||
bincode = ["dep:bincode"]
|
||||
|
||||
parquet = ['dep:parquet', 'dep:parquet_derive']
|
||||
|
||||
[dependencies]
|
||||
snafu = { workspace = true }
|
||||
serde_json = { workspace = true }
|
||||
@@ -45,5 +47,5 @@ aes = "0.8.4"
|
||||
cipher = { version = "0.4.4", features = ["block-padding"] }
|
||||
bincode = { version = "2.0.1", optional = true }
|
||||
|
||||
parquet = { workspace = true }
|
||||
parquet_derive = { version = "56.0.0" }
|
||||
parquet = { version = "56.0.0", optional = true }
|
||||
parquet_derive = { version = "56.0.0", optional = true }
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
use std::fmt::Display;
|
||||
|
||||
use bincode::{Decode, Encode};
|
||||
use parquet_derive::ParquetRecordWriter;
|
||||
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Serialize)]
|
||||
@@ -16,7 +16,8 @@ impl From<u32> for GetUserPreviewApi {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize, Encode, Decode, ParquetRecordWriter)]
|
||||
#[derive(Debug, Clone, Serialize, Deserialize, Encode, Decode)]
|
||||
#[cfg_attr(feature = "parquet", derive(parquet_derive::ParquetRecordWriter))]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct GetUserPreviewApiResp {
|
||||
pub user_id: u32,
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
use bincode::{Decode, Encode};
|
||||
use parquet_derive::ParquetRecordWriter;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
|
||||
@@ -42,7 +41,8 @@ impl From<GetUserRegionApiResp> for Vec<UserRegionFlatten> {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Default, Debug, Clone, PartialEq, ParquetRecordWriter)]
|
||||
#[derive(Default, Debug, Clone, PartialEq)]
|
||||
#[cfg_attr(feature = "parquet", derive(parquet_derive::ParquetRecordWriter))]
|
||||
pub struct UserRegionFlatten {
|
||||
pub user_id: u32,
|
||||
pub region_id: u32,
|
||||
|
||||
@@ -11,7 +11,7 @@ default = ["compio", "fetchall"]
|
||||
compio = ["dep:compio", "sdgb-api/compio"]
|
||||
tokio = ["dep:tokio", "sdgb-api/tokio"]
|
||||
|
||||
fetchall = ["dep:redb", "dep:futures-util"]
|
||||
fetchall = ["dep:redb", "dep:futures-util", "dep:parquet", "sdgb-api/parquet"]
|
||||
|
||||
[dependencies]
|
||||
sdgb-api = { workspace = true, features = ["bincode"] }
|
||||
@@ -42,7 +42,7 @@ ctrlc = { version = "3.4.7", features = ["termination"] }
|
||||
# magic macro
|
||||
crabtime = { workspace = true }
|
||||
|
||||
parquet = { workspace = true }
|
||||
parquet = { workspace = true, optional = true }
|
||||
|
||||
[build-dependencies]
|
||||
version_check = "0.9.5"
|
||||
|
||||
@@ -26,6 +26,7 @@ def calculate_dxrating(music: dict):
|
||||
try:
|
||||
return music | {"dxRating": dx_rating(Decimal(level.pop()["difficulty"]), ach)}
|
||||
except IndexError as _:
|
||||
if level_id != 10:
|
||||
logger.warning(f"unknown level: {music_id} - {level_id}", file=stderr)
|
||||
return music | {"dxRating": 0}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user