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