This commit is contained in:
Brandon Thomas committed 2025-10-30 14:27:52 -04:00
1 parent b7e635bc0b
commit 14bc3f80c8
7 files changed
+28 -30

No files matched your search

@@ -37,7 +37,6 @@ pub async fn upload_image_and_generate_video<P: AsRef<Path>>(args: UploadImageAn
info!("Uploading file to Grok...");
let request = GrokUploadFile {
//file: FileSpec::Path("/Users/bt/dev/storyteller/storyteller-rust/test_data/image/mochi.jpg"),
file: args.file,
cookie: args.full_credentials.cookies.to_string(),
request_timeout: args.individual_request_timeout,
@@ -94,7 +93,7 @@ pub async fn upload_image_and_generate_video<P: AsRef<Path>>(args: UploadImageAn
};
// TODO: Get URL
let video_gen_result = request.send().await?;
let _video_gen_result = request.send().await?;
info!("Video Generation Enqueued");
@@ -22,17 +22,19 @@ use wreq_util::Emulation;
const LIKE_MEDIA_POST_URL: &str = "https://grok.com/rest/media/post/like";
/// "Liking" media is currently necessary to preserve it in your account
/// Request builder
pub struct GrokLikeMediaPost<'a> {
pub file_id: &'a FileId,
pub cookie: &'a str,
pub request_timeout: Option<Duration>,
pub cookie: &'a str,
pub baggage: &'a Baggage,
pub sentry_trace: &'a SentryTrace,
pub verification_token: &'a VerificationToken,
pub svg_data: &'a SvgPathData,
pub numbers: &'a XsidNumbers,
pub request_timeout: Option<Duration>,
}
/// Response type
@@ -127,19 +129,13 @@ impl <'a> GrokLikeMediaPost<'a> {
GrokGenericApiError::WreqError(err)
})?;
// TODO: Classify errors
if !status.is_success() {
warn!("Not successful liking media: {:?}", response_body);
warn!("Not successful liking media (status: {:?}) : {:?}", status, response_body);
// error!("Upload file request returned an error (code {}) : {:?}", status.as_u16(), response_body);
// return Err(classify_general_http_status_code_and_body(status, response_body));
}
// TODO: Just for now..
println!("Body: {}", response_body);
// TODO:
//if !status.is_success() {
// error!("Upload file request returned an error (code {}) : {:?}", status.as_u16(), response_body);
// return Err(classify_general_http_status_code_and_body(status, response_body));
//}
//let response : GrokApiUploadFileResponse = serde_json::from_str(response_body)
// .map_err(|err| GrokGenericApiError::SerdeResponseParseErrorWithBody(err, response_body.to_string()))?;
@@ -152,7 +148,7 @@ impl <'a> GrokLikeMediaPost<'a> {
mod tests {
use super::*;
use crate::recipes::request_client_secrets::{request_client_secrets, RequestClientSecretsArgs};
use crate::test_utils::get_test_cookies::{get_test_cookies, get_typed_test_cookies};
use crate::test_utils::get_test_cookies::get_typed_test_cookies;
use errors::AnyhowResult;
#[tokio::test]
@@ -161,7 +157,6 @@ mod tests {
//setup_test_logging(LevelFilter::Trace);
let cookies = get_typed_test_cookies()?;
let user_id = UserId("85980643-ffab-4984-a3de-59a608c47d7f".to_string()); // User
let file_id = FileId("990ddf90-8f34-42b1-81a5-39c509d62ff7".to_string()); // Mochi
let secrets = request_client_secrets(RequestClientSecretsArgs {
@@ -176,14 +171,15 @@ mod tests {
let request = GrokLikeMediaPost {
file_id: &file_id,
cookie: cookies.as_str(),
request_timeout: None,
cookie: cookies.as_str(),
baggage: &secrets.baggage,
sentry_trace: &secrets.sentry_trace,
verification_token: &secrets.verification_token,
svg_data: &secrets.svg_path_data,
numbers: &secrets.numbers,
request_timeout: None,
};
let result = request.send().await?;
@@ -172,11 +172,11 @@ impl <P> GrokUploadFile<P> where P: AsRef<Path> {
GrokGenericApiError::WreqError(err)
})?;
// TODO:
//if !status.is_success() {
// error!("Upload file request returned an error (code {}) : {:?}", status.as_u16(), response_body);
// return Err(classify_general_http_status_code_and_body(status, response_body));
//}
// TODO: Handle bad statuses
if !status.is_success() {
error!("Upload file request returned an error (code {}) : {:?}", status.as_u16(), response_body);
//return Err(classify_general_http_status_code_and_body(status, response_body));
}
let response : GrokApiUploadFileResponse = serde_json::from_str(response_body)
.map_err(|err| GrokGenericApiError::SerdeResponseParseErrorWithBody(err, response_body.to_string()))?;
@@ -185,7 +185,7 @@ impl <P> GrokUploadFile<P> where P: AsRef<Path> {
.map(|id| FileId(id));
Ok(GrokUploadFileResponse {
file_id: file_id,
file_id,
file_uri: response.file_uri,
})
}
@@ -202,10 +202,11 @@ mod tests {
#[ignore]
async fn upload_file() -> AnyhowResult<()> {
//setup_test_logging(LevelFilter::Trace);
let cookies = get_test_cookies()?;
let request = GrokUploadFile {
//file: FileUploadSpec::Path("/Users/bt/dev/storyteller/storyteller-rust/test_data/image/mochi.jpg"),
file: FileUploadSpec::Path("/Users/bt/Pictures/Creatures/Spooky/06.1.jpg"),
file: FileUploadSpec::Path("/Users/bt/dev/storyteller/storyteller-rust/test_data/image/mochi.jpg"),
cookie: cookies.to_string(),
request_timeout: None,
};
@@ -3,9 +3,12 @@ use serde::Deserialize;
#[derive(Deserialize)]
pub (super) struct GrokApiUploadFileResponse {
/// The uploaded file_id, which is used to reference the file later.
#[serde(rename = "fileMetadataId")]
pub file_metadata_id: Option<String>,
/// Partial path to the media file, not a full URI.
/// eg. `users/{user_id}/{file_id}/content`
#[serde(rename = "fileUri")]
pub file_uri: Option<String>,
}
@@ -20,4 +23,4 @@ pub (super) struct GrokApiUploadFileResponse {
"createTime": "2025-10-21T23:40:41.784448Z",
"fileSource": "SELF_UPLOAD_FILE_SOURCE"
}
*/
*/
@@ -206,9 +206,9 @@ mod tests {
#[ignore]
async fn create_video() -> AnyhowResult<()> {
//setup_test_logging(LevelFilter::Trace);
let cookies = get_typed_test_cookies()?;
let user_id = UserId("85980643-ffab-4984-a3de-59a608c47d7f".to_string()); // User
let file_id = FileId("990ddf90-8f34-42b1-81a5-39c509d62ff7".to_string()); // Mochi
let secrets = request_client_secrets(RequestClientSecretsArgs {
@@ -222,7 +222,7 @@ mod tests {
println!("Baggage: {:?}", secrets.baggage);
let request = GrokVideoGenChatConversationBuilder {
user_id: &user_id,
user_id: &secrets.user_id,
file_id: &file_id,
media_type: VideoMediaPostType::UserUploadedImage,
cookie: cookies.as_str(),
@@ -242,5 +242,4 @@ mod tests {
assert_eq!(1, 2);
Ok(())
}
}