Cleanup unused message embedding code
Fixup some warnings
This commit is contained in:
@@ -34,6 +34,7 @@ struct LocationPoint {
|
||||
#[derive(Debug, Deserialize)]
|
||||
struct ActivityRecord {
|
||||
activity: Vec<ActivityType>,
|
||||
#[allow(dead_code)] // Part of JSON structure, may be used in future
|
||||
timestamp_ms: Option<String>,
|
||||
}
|
||||
|
||||
|
||||
@@ -30,34 +30,37 @@ pub fn parse_search_html(path: &str) -> Result<Vec<ParsedSearchRecord>> {
|
||||
|
||||
// Strategy 2: Look for outer-cell structure (older format)
|
||||
if records.is_empty()
|
||||
&& let Ok(outer_selector) = Selector::parse("div.outer-cell") {
|
||||
for cell in document.select(&outer_selector) {
|
||||
if let Some(record) = parse_outer_cell(&cell) {
|
||||
records.push(record);
|
||||
}
|
||||
&& let Ok(outer_selector) = Selector::parse("div.outer-cell")
|
||||
{
|
||||
for cell in document.select(&outer_selector) {
|
||||
if let Some(record) = parse_outer_cell(&cell) {
|
||||
records.push(record);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Strategy 3: Generic approach - look for links and timestamps
|
||||
if records.is_empty()
|
||||
&& let Ok(link_selector) = Selector::parse("a") {
|
||||
for link in document.select(&link_selector) {
|
||||
if let Some(href) = link.value().attr("href") {
|
||||
// Check if it's a search URL
|
||||
if (href.contains("google.com/search?q=") || href.contains("search?q="))
|
||||
&& let Some(query) = extract_query_from_url(href) {
|
||||
// Try to find nearby timestamp
|
||||
let timestamp = find_nearby_timestamp(&link);
|
||||
&& let Ok(link_selector) = Selector::parse("a")
|
||||
{
|
||||
for link in document.select(&link_selector) {
|
||||
if let Some(href) = link.value().attr("href") {
|
||||
// Check if it's a search URL
|
||||
if (href.contains("google.com/search?q=") || href.contains("search?q="))
|
||||
&& let Some(query) = extract_query_from_url(href)
|
||||
{
|
||||
// Try to find nearby timestamp
|
||||
let timestamp = find_nearby_timestamp(&link);
|
||||
|
||||
records.push(ParsedSearchRecord {
|
||||
timestamp: timestamp.unwrap_or_else(|| Utc::now().timestamp()),
|
||||
query,
|
||||
search_engine: Some("Google".to_string()),
|
||||
});
|
||||
}
|
||||
records.push(ParsedSearchRecord {
|
||||
timestamp: timestamp.unwrap_or_else(|| Utc::now().timestamp()),
|
||||
query,
|
||||
search_engine: Some("Google".to_string()),
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ok(records)
|
||||
}
|
||||
@@ -118,11 +121,12 @@ fn extract_query_from_url(url: &str) -> Option<String> {
|
||||
fn find_nearby_timestamp(element: &scraper::ElementRef) -> Option<i64> {
|
||||
// Look for timestamp in parent or sibling elements
|
||||
if let Some(parent) = element.parent()
|
||||
&& parent.value().as_element().is_some() {
|
||||
let parent_ref = scraper::ElementRef::wrap(parent)?;
|
||||
let text = parent_ref.text().collect::<Vec<_>>().join(" ");
|
||||
return parse_timestamp_from_text(&text);
|
||||
}
|
||||
&& parent.value().as_element().is_some()
|
||||
{
|
||||
let parent_ref = scraper::ElementRef::wrap(parent)?;
|
||||
let text = parent_ref.text().collect::<Vec<_>>().join(" ");
|
||||
return parse_timestamp_from_text(&text);
|
||||
}
|
||||
None
|
||||
}
|
||||
|
||||
@@ -135,9 +139,10 @@ fn parse_timestamp_from_text(text: &str) -> Option<i64> {
|
||||
if let Some(iso_match) = text
|
||||
.split_whitespace()
|
||||
.find(|s| s.contains('T') && s.contains('-'))
|
||||
&& let Ok(dt) = DateTime::parse_from_rfc3339(iso_match) {
|
||||
return Some(dt.timestamp());
|
||||
}
|
||||
&& let Ok(dt) = DateTime::parse_from_rfc3339(iso_match)
|
||||
{
|
||||
return Some(dt.timestamp());
|
||||
}
|
||||
|
||||
// Try common date patterns
|
||||
let patterns = [
|
||||
@@ -149,9 +154,10 @@ fn parse_timestamp_from_text(text: &str) -> Option<i64> {
|
||||
for pattern in patterns {
|
||||
// Extract potential date string
|
||||
if let Some(date_part) = extract_date_substring(text)
|
||||
&& let Ok(dt) = NaiveDateTime::parse_from_str(&date_part, pattern) {
|
||||
return Some(dt.and_utc().timestamp());
|
||||
}
|
||||
&& let Ok(dt) = NaiveDateTime::parse_from_str(&date_part, pattern)
|
||||
{
|
||||
return Some(dt.and_utc().timestamp());
|
||||
}
|
||||
}
|
||||
|
||||
None
|
||||
|
||||
Reference in New Issue
Block a user