map-tool: cookie arg, now required by roblox
This commit is contained in:
@@ -32,8 +32,12 @@ pub struct RobloxToSNFSubcommand {
|
|||||||
pub struct DownloadAssetsSubcommand{
|
pub struct DownloadAssetsSubcommand{
|
||||||
#[arg(required=true)]
|
#[arg(required=true)]
|
||||||
roblox_files:Vec<PathBuf>,
|
roblox_files:Vec<PathBuf>,
|
||||||
// #[arg(long)]
|
#[arg(long,group="cookie",required=true)]
|
||||||
// cookie_file:Option<String>,
|
cookie_literal:Option<String>,
|
||||||
|
#[arg(long,group="cookie",required=true)]
|
||||||
|
cookie_envvar:Option<String>,
|
||||||
|
#[arg(long,group="cookie",required=true)]
|
||||||
|
cookie_file:Option<PathBuf>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Commands{
|
impl Commands{
|
||||||
@@ -42,12 +46,26 @@ impl Commands{
|
|||||||
Commands::RobloxToSNF(subcommand)=>roblox_to_snf(subcommand.input_files,subcommand.output_folder).await,
|
Commands::RobloxToSNF(subcommand)=>roblox_to_snf(subcommand.input_files,subcommand.output_folder).await,
|
||||||
Commands::DownloadAssets(subcommand)=>download_assets(
|
Commands::DownloadAssets(subcommand)=>download_assets(
|
||||||
subcommand.roblox_files,
|
subcommand.roblox_files,
|
||||||
rbx_asset::cookie::Cookie::new("".to_string()),
|
cookie_from_args(
|
||||||
|
subcommand.cookie_literal,
|
||||||
|
subcommand.cookie_envvar,
|
||||||
|
subcommand.cookie_file,
|
||||||
|
).await?,
|
||||||
).await,
|
).await,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async fn cookie_from_args(literal:Option<String>,environment:Option<String>,file:Option<PathBuf>)->AResult<rbx_asset::cookie::Cookie>{
|
||||||
|
let cookie=match (literal,environment,file){
|
||||||
|
(Some(cookie_literal),None,None)=>cookie_literal,
|
||||||
|
(None,Some(cookie_environment),None)=>std::env::var(cookie_environment)?,
|
||||||
|
(None,None,Some(cookie_file))=>tokio::fs::read_to_string(cookie_file).await?,
|
||||||
|
_=>Err(anyhow::Error::msg("Illegal cookie argument triple"))?,
|
||||||
|
};
|
||||||
|
Ok(rbx_asset::cookie::Cookie::new(cookie))
|
||||||
|
}
|
||||||
|
|
||||||
#[allow(unused)]
|
#[allow(unused)]
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
enum LoadDomError{
|
enum LoadDomError{
|
||||||
|
|||||||
Reference in New Issue
Block a user