Koneko

Latest version: v0.13.0

Safety actively analyzes 629959 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 3

0.12.0

Features
* Remove the need to ask for your pixiv user ID; koneko will now get it from the API response
* Custom user ID for mode 3 (view following users) has thus been removed, to reduce complexity of first-time setup
* See issue 4. Thanks to Thesola10 for PR 5

Bug fixes
* Fixed broken pixiv login
* Fixed broken curl fallback commands in the .rst version

Code maintenance
* Update dependencies
* Unit tests: Use tmp_path fixture instead of manually creating paths
* Replace FollowingUserModeLoop class with following_user_mode function
* Removed integration tests due to unreliability of new pixiv login method
* Simplified the README

0.11.0

Changelog

Features
* Ueberzug support to work with other terminals (but seems to be linux only)
* New configuration options in the experimental section
* `use_ueberzug` (default: off)
* `scroll_display` (default: on)
* On means you have to manually scroll the terminal with mouse/keyboard shortcuts
* Off means you can use up/down keys to view more images
* This option is always on if `use_ueberzug` is on
* `ueberzug_center_spaces` (default: 20)
* If `scroll_display` is off, then use up/down keys to view more images
* Should work on everything:
* lscat app
* In lscat config assistant
* Page spacing is disabled for ueberzug
* Browse cache, display path
* testgallery, testuser
* koneko app
* For already downloaded images in Gallery, Users, & Image modes
* For showing images as they download in Gallery, Users, & Image modes
* Everywhere else (main screen, info screen, etc)
* Improved documentation using tables in the manual (MANUAL.md) and developer guide (HACKING.md)

Bug fixes
* Fixed bugs in lscat app's display path (mode p/3):
* Not working if path given via cli
* Always showing directory in gallery mode
* Fixed race conditions while prefetching
* eg, viewing an image while prefetching would crash or cause undefined behaviour
* Prefetching in user mode takes longer, making it likely to trigger an action before prefetch has finished

Code maintenance
* Remove circular imports
- [x] prompt importing ui
- [x] assistants importing lscat_app
- [x] main importing cli
- [x] picker importing assistants
* Updated and improved diagrams in HACKING.md
* Methods starting with `maybe` (formerly abstractmethods) now do nothing by default, override to do something
* Rename middle() to maybe_show_preview() in lscat prompt
* Inline in yield expression in users preview (lscat)
* Replace while loop with a for loop and a guard at the end in lscat
* Use Keystroke name attribute rather than its key code (blessed.Terminal)
* Rename utils.check_quit() to quit_on_q()
* Move lscat related functions in utils to lscat
* print_doc now restores previous cursor location
* Rewrite of core lscat functions: **new unified API (lscat.api)** with the same interface for both pixcat and ueberzug
* For ueberzug, only one ueberzug process and canvas is instantiated in the program
* Added more tests

0.10.1

Changelog

* Two new examples of koneko being applied to another site:
* [koneko-twitter](https://github.com/twenty5151/koneko-twitter)
* [koneko-gelbooru](https://github.com/twenty5151/koneko-gelbooru/)

Bug fixes
* Fixed inconsistent 'page' / 'image' in ui.Image
* Fixed `du` not working in macOS
* Fixed `xdg-open` not present in macOS, use `open` in that case instead
* Fixed bug where artist name with '/' isn't downloaded
* Fixed users mode prefetching page 1 again

Code maintenance
* Added more tests
* Use int page_num for gallery data cache keys
* Extract duplicated init method in gdata and udata to ABC
* Remove sys path modifications by changing pytest command & conftest path. No need to run pytest with the `-s` argument. There is a `conftest.py` symlink in root, pointing to the original path in `testing/`
* Fixed tests sometimes showing a (pixcat) image: mock and assert pixcat in lscat.icat()
* Use default github gitignore for python

0.10.0

Changelog

Features
* Browse cache now supports navigating between pages
* **Breaking**: Removed `image_mode_text_offset` config setting, now does nothing
* Renewed developer guide in HACKING.md
* **Breaking**: lscat app: move 'browse cache' and 'specify path' to mode 2 and 3 respectively, moving 'testgallery & 'testuser' to mode 4 and 5 respectively (swapped)
* Add image mode preview for lscat app
* Add related images gallery (mode 15): view related and suggested images in image view (mode 2). Press the 'r' key while viewing an image to view related images
* Add illust_recommended_mode (mode 6): discover recommended illustrations
* Access browse cache from koneko main; clear cache is now inside browse cache
* Use `koneko q` to view frequents and launch their mode
* Revamped user guide/manual

Bug fixes
* Fixed browse cache crashing on empty directory
* Fixed docs: mode 5 cannot go back to main screen
* Fixed reloading in a gallery mode leading to user prompt
* Browse cache now no longer accepts an invalid directory to display on
* Fixed experimental image mode previews index errors due to it trying to download more images than possible
* Almost fixing experimental image mode previews by saving previous cursor position and restoring it later; but still a bit unstable
* Fixed grammar in prompt: "a image command" -> "an image command"
* Improved stability (eg weird race conditions, files downloaded in wrong places) by not cd-ing into directories
* **Fixed logging in with a new session every time by caching the login token.**
* Stop prefetch if `next_offset` is invalid

Code maintenance
* lscat `show_instant()` now inspects the cls passed in instead of a bool argument
* "Inlined" some abstract methods in `AbstractUI` into attributes
* Make all `ui.Image` methods depend on only `data.ImageData` like the associated free functions, so those methods can be moved to a subclass of `data.ImageData` (the new ui.Image class extends IO behaviours from the data class)
* Pass in path and name to `api.download` instead of cd-ing into the dir and manually renaming downloads, simplifying a lot of code in the process
* Replace `pure.Map` with list comprehensions. Can't force functional programming into Python after all
* Use `funcy.autocurry()` instead of partial
* Split up `files.filter_dir()`
* Use `ws_picker()` in `_pick_dirs_picker()`
* Add `next_offset` property to AbstractData (moved calculation from ui to data.py)
* Change list comprehensions assigning to `_` into normal for loops
* Split up `_parse_and_download()`
* Improved order of methods in `GalleryData`: now sorted by required methods/properties by the interface/abstract class, and unique methods/properties.
* Rewrite `UserData` class to be more like `GalleryData`
* Move download_path() method to `AbstractData`
* Extract `view_post_mode()` and `view_image()` to ABC

0.9.2

Changelog

Features
* lscat app: Display first picture if a mode 2 directory is selected
* This project is now mirrored on gitlab [here](https://gitlab.com/twenty5151/koneko)

Bug fixes
* Fixed mode 2 exclusive filter showing mode 1 page dirs

Code maintenance
* Added more type annotations
* Rename AbstractImageAdjuster.write() to report()
* Added docstrings in assistants.py
* Added image_adjuster.puml, displayed in HACKING.md
* Use namedtuple instead of classes in some tests
* Use mocks instead of repetitive fake classes
* Add AbstractData to puml
* Use new json in some tests
* Test print multiple images with one and two posts
* Add some comments on MVC vs MVA
* Removed unused search_string() method

0.9.1

Changelog

Features
* `lscat` app browse cache can now filter modes

Bug fixes
* Browse cache (in `lscat` app and main):
* Hide the history file
* Fixed crash if filter hides all directories
* Fixed mode 2 filter showing mode 1 dirs
* Fixed filter mode 2 not filtering mode 1 (dirs with numbers will still be shown, but the mode 1 pages won't be, only the `individual` dir)

Code maintenance
* Simplified code:
* Restructure cli handling to be more modular like lscat_app
* Launch functions directly from cli.py
* main loop
* Split up lscat_app.pick_dir_loop()
* Await login before fetching by default, removing all manual awaits
* Pass credentials into api.start() instead of exposing attribute to the public
* Mode 3: Move your_id prompt to inside start() method
* Instantiate blessed.Terminal() in __init__.py
* Parametrize all cli tests
* Split up lscat_app.config_assistance()
* **Moved a lot of functions to more appropriate modules**
* Move print-related functions from utils.py to printer.py
* Move file-related functions from utils.py to files.py
* Move functions with while loops from lscat_app to assistants.py
* Move picker-related functions into picker.py (eg lscat app main picker, frequents mode picker, browse cache picker)
* Document cache tree dir structure in `HACKING.md`
* Unit tests
* Added and improved tests with parametrization
* Split up some large test functions
* Use more fixtures
* Tests no longer use test_config.ini file; removed it
* Use namedtuples to replace some 'faker' classes

Page 2 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.