Skip to content

Releases: FurryCoders/FAAPI

v3.10.1

03 Apr 20:33
v3.10.1
0e7c6f5

Choose a tag to compare

🔧 Fixes

  • Fix parsed URLs not being properly encoded if they contained non-allowed URL characters

🔗 Links

v3.10.0

27 Nov 22:05
v3.10.0
0444092

Choose a tag to compare

🚀 New Features

  • Fur Affinity UI update
    • Support the new UI introduced on November 26, 2022
    • Note: the new UI does not show comment parents yet, but the parent comment link is stil present in the HTML and just commented out, so the parser uses regex to extract the parent ID; this could cause unforeseen issues so be careful when parsing comments
  • User banners
    • Parse new user banners (when set)
    • New User.banner_url variable holds the banner URL

⚙️ Changes

  • Rename User.user_icon_url and UserPartial.user_icon_url to User.avatar_url and UserPartial.avatar_url

📦 Dependencies

🔗 Links

v3.9.6

18 Nov 20:51
v3.9.6
0feb877

Choose a tag to compare

⚙️ Changes

  • Remove implicit Optional types to comply with PEP 484

🔧 Fixes

  • Fix selectors for date tags in journals and submissions which sometimes caused the incorrect date to be selected

📦 Dependencies

🔗 Links

v3.9.5

04 Nov 13:47
v3.9.5
5ef36e5

Choose a tag to compare

⚙️ Changes

  • Improve parsing of usernames and statuses

🔧 Fixes

  • Fix parsing of user tags for folders when the user had no title set, or used bars (|) in their title

🔗 Links

v3.9.4

02 Nov 10:43
v3.9.4
4a304fa

Choose a tag to compare

🔧 Fixes

  • Fix admins' username and status not being parsed correctly in watchlists and users tags
    • Fix issue #6

🔗 Links

v3.9.3

02 Nov 09:58
v3.9.3
8241fbf

Choose a tag to compare

⚙️ Changes

  • Users with non-alphanumeric characters in their name are now escaped in URLs
    • From suggestion in issue #5

🔧 Fixes

  • Fix admins' username and status not being parsed correctly
    • Fix issue #6

🔗 Links

v3.9.2

31 Oct 22:00
v3.9.2
4957739

Choose a tag to compare

🔧 Fixes

  • Fix ` being removed from usernames

🔗 Links

v3.9.1

25 Oct 09:26
v3.9.1
bb4d1dd

Choose a tag to compare

🔧 Fixes

  • Fix incorrect user icon URLs when converting BBCode to HTML

📦 Dependencies

🔗 Links

v3.9.0

14 Sep 09:14
v3.9.0
b45d0f3

Choose a tag to compare

🚀 New Features

  • Submission footers
    • Submission footers are now separated from the submission description and stored in the Submission.footer field
    • The BBCode of the footer can be accessed with the Submission.footer_bbcode property
  • Generate user icon URLs
    • New generate_user_icon_url() method added to UserPartial and User to create the URL for the current user icon
  • BBCode to HTML conversion
    • Work-in-progress version of a BBCode converter based on the bbcode library
    • Converter function is located in the parse submodule: faapi.parse.bbcode_to_html()
    • The majority of HTML fields (submission descriptions, journal contents, comments, etc.) can be converted back and forth between HTML and BBCode without loosing information
    • If a submission contains incorrect or very unusual BBCode tags or text, the BBCode to HTML conversion may create artifacts and tags that did not exist in the original content

⚙️ Changes

  • Added Journal.header_bbcode and Journal.footer_bbcode properties to convert Journal.header and Journal.footer to BBCode
  • Return None instead of 0 (or "" for favorites) when reaching the last page with FAAPI.gallery() , FAAPI.scraps(), FAAPI.journals(), FAAPI.favorites(), FAAPI.watchlist_by(), and FAAPI.watchlist_to()
  • Added __hash__ method to User, UserPartial, Submission, SubmissionPartial, Journal, JournalPartial, and Comment; the hash value is calculated using the same fields used for equality comparisons
  • Improved cleanup of HTML fields by using htmlmin
  • Fur Affinity URLs are now properly converted to relative [url=<path>] tags in BBCode
  • Unknown tags are converted to [tag=<name>.<classes>] in BBCode
  • Added CookieDict(TypedDict) notation for cookies dictionary (alternative to CookieJar) to provide intellisense and type checking information

🔧 Fixes

  • Fix comments being considered equal even if they had different parents but the same ID
  • Fix break lines tags (<br/>) not always being converted to newlines when converting to BBCode
  • Fix errors when converting nav links (e.g. [2,1,3]) to BBCode
  • Fix incorrect detection of last page in FAAPI.watchlist_by() and FAAPI.watchlist_by()
  • Fix errors when converting special characters (e.g. &)
  • Fix trailing spaces around newlines remaining after converting to BBCode
  • Fix horizontal lines not being correctly converted from BBCode if the dashes (----- or longer) were not surrounded by newlines

📦 Dependencies

🔗 Links

v3.8.1

30 Aug 18:49
v3.8.1
0b3a19b

Choose a tag to compare

⚙️ Changes

  • Improved HTML extraction for specific tags to avoid encoding issues
  • HTML fields are cleaned up (i.e., removed newlines, carriage returns, and extra spaces)
    • None of the parsed pages use tags with pre white space rendering, so no information is lost
  • Improvements to BBCode conversion
    • Do not quote URLs when converting to BBCode
    • Support nested quote blocks
    • Support non-specific tags (e.g. div.submission-footer) and convert them to [tag.<tag name>.<tag class>][/tag.<tag.name>]

🔧 Fixes

  • Fix incorrect encoding of special characters (<, >, etc.) in HTML fields
    • Was caused by the previous method of extracting the inner HTML of a tag
  • Fix URLs automatically shortened by Fur Affinity being converted to BBCode with the wrong text content
  • Fix HTML paragraph tags (<p>) sometimes appearing in BBCode-converted content
  • Fix BBCode conversion of :usernameicon: links (i.e., user icon links without the username)

🔗 Links