MCPcopy Create free account
hub / github.com/CScorza/IntelOSINT / _build_result

Method _build_result

IntelOSINT.py:15664–16038  ·  view source on GitHub ↗
(profile, source_url, status_code, anti_bot=False)

Source from the content-addressed store, hash-verified

15662 pass
15663
15664 def _build_result(profile, source_url, status_code, anti_bot=False):
15665 if not isinstance(profile, dict):
15666 return None, base_img
15667
15668 profile = dict(profile)
15669 now_utc = datetime.now(timezone.utc)
15670
15671 def _fill_aliases(target, aliases):
15672 if profile.get(target) not in (None, ""):
15673 return
15674 for key in aliases:
15675 if key in profile:
15676 val = profile.get(key)
15677 if val is not None and val != "":
15678 profile[target] = val
15679 return
15680
15681 _fill_aliases("username", ("user_name", "handle", "slug"))
15682 _fill_aliases("name", ("fullName", "full_name", "displayName", "title", "full_name"))
15683 _fill_aliases("id", ("user_id", "userId", "accountId", "account_id"))
15684 _fill_aliases("bio", ("description", "about", "bioText", "rawAbout", "raw_about"))
15685 _fill_aliases("rawAbout", ("raw_about", "rawAbout", "bio"))
15686 _fill_aliases("location", ("locationName", "city", "city_name", "town", "state", "country"))
15687 _fill_aliases("city", ("city_name", "town"))
15688 _fill_aliases("country", ("countryName", "country_name"))
15689 _fill_aliases("joinDate", ("join_date", "joinedDate", "createdAt", "created_at"))
15690 _fill_aliases("firstPublishedPostDate", ("firstPublishedAt", "firstPublished"))
15691 _fill_aliases("lastSeen", ("last_seen", "lastActive"))
15692 _fill_aliases("wishlist", ("wishList",))
15693 _fill_aliases("website", ("page", "url", "external_url", "externalUrl"))
15694 _fill_aliases("avatar", ("avatarUrl", "profilePicture"))
15695 _fill_aliases("header", ("headerUrl", "cover", "coverUrl", "banner"))
15696 _fill_aliases("openedAt", ("profileOpenedAt", "openedDate", "dateOpened", "openDate", "open_time", "openTime", "opened"))
15697 _fill_aliases("updatedAt", ("updated_at", "lastUpdated", "last_updated", "modifiedAt", "modified_at", "lastModified", "last_modified", "lastUpdatedAt", "updateTime", "updated", "update_time"))
15698
15699 def _parse_of_datetime(raw_ts):
15700 if not raw_ts or raw_ts is True or raw_ts is False:
15701 return None
15702 dt = None
15703 try:
15704 if isinstance(raw_ts, datetime):
15705 dt = raw_ts
15706 elif isinstance(raw_ts, (int, float)):
15707 if raw_ts <= 0:
15708 return None
15709 if raw_ts > 10**13:
15710 raw_ts = raw_ts / 1000.0
15711 elif raw_ts > 10**10:
15712 raw_ts = raw_ts / 1000.0
15713 dt = datetime.fromtimestamp(raw_ts, tz=timezone.utc)
15714 else:
15715 raw = str(raw_ts).strip()
15716 raw_norm = raw.replace("Z", "+00:00").replace("z", "+00:00")
15717 if re.fullmatch(r"\d{10,17}", raw_norm):
15718 n = float(raw_norm)
15719 if len(raw_norm) >= 13:
15720 n = n / 1000.0
15721 dt = datetime.fromtimestamp(n, tz=timezone.utc)

Callers

nothing calls this directly

Calls 1

_safe_abs_urlMethod · 0.95

Tested by

no test coverage detected