Giter Site home page Giter Site logo

imxade / pictopy Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 4.0 21.52 MB

Gallery with object based tagging, written in python. Please check the Wiki for Documentation.

Home Page: https://github.com/imxade/pictopy/wiki

License: GNU General Public License v3.0

Python 69.50% Nix 2.19% CSS 5.91% JavaScript 21.52% HTML 0.87%
flask gallery sql sqlite webview object-detection yolov8

pictopy's People

Contributors

imxade avatar hydra-bolt avatar dexterousdhruv avatar alokih avatar

Stargazers

 avatar

Watchers

 avatar

pictopy's Issues

[Feature Request] Log file

Overview:
Implement a logging system that captures all console output, including Flask-related and unrelated errors, and stores this information in a file. This feature aims to enhance issue reporting and debugging capabilities by allowing users to access a comprehensive log file during troubleshooting sessions.

Key Features:

  • Log File Creation and Management:
    • All console outputs, including standard logs, errors, and exceptions (both Flask-specific and others), will be recorded.
    • Utilize the logPath() function from main.py to dynamically determine the location of the log file.
    • Ensure the log file is operated in write mode (or may be not if there's a better way of doing it) to capture logs relevant to the current session only.

Note: it would be preferred if logging on file doesn't disable logging on console.

Purpose and Benefits:

  • Users will be able to provide a log file while reporting issues

  • Will allow easier identification/recreation of specific states/conditions.

TypeError: Unable to detect the MIME type because a file name is not available. Either set 'download_name', pass a path instead of a file, or set 'mimetype'.

STACK TRACE

192.168.100.17 - - [12/Aug/2024 02:56:30] "GET /media/C:/Users/PMLS/Pictures/wallpapers/wallpape-ezgif.com-webp-to-jpg-converter.jpg HTTP/1.1" 200 -
192.168.100.17 - - [12/Aug/2024 02:56:30] "GET /static/icons/next.svg HTTP/1.1" 304 -
192.168.100.17 - - [12/Aug/2024 02:56:30] "GET /static/icons/close.svg HTTP/1.1" 304 -
192.168.100.17 - - [12/Aug/2024 02:56:39] "GET /static/icons/loading.svg HTTP/1.1" 304 -
192.168.100.17 - - [12/Aug/2024 02:56:39] "GET /img/directory HTTP/1.1" 200 -
192.168.100.17 - - [12/Aug/2024 02:56:39] "GET /media/C:/Users/PMLS/Downloads/RishtaApp/RishtaApp/build/flutter_assets/assets/icons/icon%202.png HTTP/1.1" 500 -
Traceback (most recent call last):
  File "C:\MainDrive\Work\Projects\pictopyGSOC\picenv\lib\site-packages\flask\app.py", line 1498, in __call__
    return self.wsgi_app(environ, start_response)
  File "C:\MainDrive\Work\Projects\pictopyGSOC\picenv\lib\site-packages\flask\app.py", line 1476, in wsgi_app
    response = self.handle_exception(e)
  File "C:\MainDrive\Work\Projects\pictopyGSOC\picenv\lib\site-packages\flask\app.py", line 1473, in wsgi_app
    response = self.full_dispatch_request()
  File "C:\MainDrive\Work\Projects\pictopyGSOC\picenv\lib\site-packages\flask\app.py", line 882, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "C:\MainDrive\Work\Projects\pictopyGSOC\picenv\lib\site-packages\flask\app.py", line 880, in full_dispatch_request
    rv = self.dispatch_request()
  File "C:\MainDrive\Work\Projects\pictopyGSOC\picenv\lib\site-packages\flask\app.py", line 865, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]
  File "C:\MainDrive\Work\Projects\pictopyGSOC\main.py", line 147, in sendFile
    return send_file(decodeLinkPath(path))
  File "C:\MainDrive\Work\Projects\pictopyGSOC\picenv\lib\site-packages\flask\helpers.py", line 499, in send_file
    return werkzeug.utils.send_file(  # type: ignore[return-value]
  File "C:\MainDrive\Work\Projects\pictopyGSOC\picenv\lib\site-packages\werkzeug\utils.py", line 439, in send_file
    raise TypeError(
TypeError: Unable to detect the MIME type because a file name is not available. Either set 'download_name', pass a path instead of a file, or set 'mimetype'.

OS

Windows 10

Py Version

3.10.6

Replicating steps

Open in browser and select images, Also can be replicated when AI sorting is enabled and disabled

[Feature] Unit Testing

Overview:

Implement a comprehensive unit testing designed to rigorously evaluate individual modules within our application against predefined static data samples. This system aims to ensure the integrity and reliability of our codebase prior to merging pull requests (PRs), thereby minimizing manual errors and enhancing overall code quality.

Note: Complete understanding of backend code base is required for this.

Key Features:

  • Module-Specific Testing: Each module will undergo independent testing using static data samples. This approach allows for precise evaluation of functionality and behavior in isolation.

  • Inconsistency Reporting: The framework will automatically identify and report any inconsistencies between expected and actual outputs during testing.

  • Error Prevention: The primary objective of this feature is to significantly reduce manual errors through automated testing. By catching issues early in the development cycle, we can streamline the debugging process and improve the efficiency of our PR review process.

  • Pre-Merger Validation: By integrating this testing phase into our development workflow, we aim to validate the consistency and behavior of new code contributions before they are merged into the main branch. This proactive measure helps maintain the stability and reliability of our codebase.

Implementation Goals:

  • Enhance code quality and reliability by ensuring modules perform as expected against static data benchmarks.
  • Streamline the PR merger process by automating the detection of inconsistencies and potential errors.
  • Foster a culture of proactive error prevention and continuous improvement within our development team.

[UI Enhancement] : replace displayData() with a click event.

Overview:

Improve the user experience by ensuring that the default section is highlighted upon page reload, even if the user has not interacted with the navigation bar.
Currently, the displayData() is called on reload, but that does not indicate the current section on Nav Bar.
But click events on Nav Bar not only calls the displayData() but indicates the clicked section.

Implementation Steps:

  1. Identify Default Section: Default section is provided by the variable section.

  2. Simulate Click Event: Implement a function to simulate a click event on the identified default section from Nav Bar.

[UI Enhancement] Indication for Empty Section

Feature Request: Enhanced User Feedback for Empty Sections

Overview:

Introduce an enhancement to our application's UI to clearly indicate when a section is genuinely empty, as opposed to being in a loading state or experiencing a delay in data retrieval. This update aims to improve user experience by providing explicit feedback, thus eliminating ambiguity about the content status of various sections.

Problem Statement:

Currently, when a section lacks content, users are presented with a blank screen accompanied by a navigation bar at the bottom. This design makes it challenging for users to discern whether the section is truly devoid of content or if data is still being loaded or processed. The displayData() function in static/index.js is responsible this behavior.

Proposed Solution:

  • Conditional Check for Empty Data: Implement a conditional statement within the displayData() function to detect when the data variable contains an empty list. This check will serve as the trigger for displaying a custom indicator for empty sections.

  • Visual Indication for Empty Content: Upon detecting an empty data list, display a prominent visual cue covering most of the window area. This could be in the form of text (e.g., "No content available"), an icon, or another visually striking element designed to catch the user's attention. The goal is to ensure that the indication is unmistakable and effectively communicates the absence of content.

Implementation Goals:

  • Improve user experience by providing clear feedback on the status of content sections.
  • Reduce ambiguity and confusion regarding whether a section is empty or still loading data.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.