Skip to content

Conversation

@Stackashu
Copy link

@Stackashu Stackashu commented Nov 21, 2025

Description me likh dena:

Found and replaced all old references

Updated imports, template folders, PluginApp name etc.

Verified using automated search commands

Tested plugin loads without errors (if applicable)

Summary by Sourcery

Rename the event ticket video plugin to use the new eventyay_video naming across code and assets.

Enhancements:

  • Update plugin configuration, URLs, and templates to use the eventyay_video namespace instead of pretix_venueless.
  • Adjust plugin metadata and image paths to align with the new eventyay video branding.
  • Relocate translation and locale resources to the new eventyay_video directory structure.

@sourcery-ai
Copy link
Contributor

sourcery-ai bot commented Nov 21, 2025

Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

Refactors the eventyay ticket video plugin from the old 'pretix_venueless' naming to the new 'eventyay_video' / 'eventyay-video' naming across Python config, URLs, templates, static asset paths, and locale directories, maintaining runtime behavior but aligning with Eventyay branding and namespace conventions.

Updated class diagram for the eventyay video plugin configuration and views

classDiagram
    class PluginApp {
        bool "default" = true
        str "name" = "eventyay-video"
        str "verbose_name" = "Eventyay Video"
    }

    class EventyayVideoPluginMeta {
        str "name" = "Eventyay Video"
        str "author" = "Eventyay"
        str "description" = "Grant access to your eventyay video event to your customers."
        bool "visible" = true
        str "picture" = "eventyay-video/eventyay-logo.192.png"
        bool "featured" = true
        str "version" = "__version__"
        str "category" = "INTEGRATION"
        list "compat" = []
    }

    class EventyayPluginMeta {
        str "name" = "Eventyay Video"
        str "author" = "Eventyay"
        str "description" = "Grant access to your eventyay video event to your customers."
        bool "visible" = true
        str "picture" = "eventyay-video/eventyay-logo.192.png"
        bool "featured" = true
        str "version" = "__version__"
        str "category" = "INTEGRATION"
        list "compat" = []
    }

    class Event {
    }

    class VenuelessSettingsForm {
    }

    class EventSettingsViewMixin {
    }

    class EventSettingsFormView {
    }

    class SettingsView {
        Event "model"
        VenuelessSettingsForm "form_class"
        str "template_name" = "eventyay_video/settings.html"
        str "permission" = "can_change_settings"
        str "get_success_url()"
    }

    PluginApp ..> EventyayVideoPluginMeta : "uses as upstream plugin meta"
    PluginApp ..> EventyayPluginMeta : "uses as Eventyay plugin meta"

    SettingsView --|> EventSettingsFormView : "inherits from"
    SettingsView ..|> EventSettingsViewMixin : "mixes in"
    SettingsView --> Event : "configures model"
    SettingsView --> VenuelessSettingsForm : "uses form_class"
Loading

File-Level Changes

Change Details Files
Renamed the plugin app configuration and metadata to use the new eventyay naming and static asset path.
  • Updated PluginApp.name from the old identifier to the new 'eventyay-video' identifier expected by Eventyay.
  • Renamed the plugin metadata inner class from PretixPluginMeta to EventyayVideoPluginMeta while keeping fields and behavior intact.
  • Adjusted the metadata picture path from the old pretix_venueless directory to the new eventyay-video directory in both upstream and Eventyay-specific meta classes.
app/eventyay/plugins/eventyay-ticket-video/eventyay_video/apps.py
Updated plugin URLs, template names, and template references from the old 'pretix_venueless' namespace to the new 'eventyay_video' namespace.
  • Changed get_template calls in signal handlers to load templates from the eventyay_video template directory instead of pretix_venueless.
  • Updated navbar link URL reversing to use the 'plugins:eventyay_video:settings' route and adjusted the active namespace check accordingly.
  • Adjusted template_name and success URL reverse call in SettingsView to reference the new eventyay_video settings template and URL namespace.
  • Updated eventurl template tags in order_info.html to use the 'plugins:eventyay_video:join' route for join and schedule actions.
app/eventyay/plugins/eventyay-ticket-video/eventyay_video/signals.py
app/eventyay/plugins/eventyay-ticket-video/eventyay_video/views.py
app/eventyay/plugins/eventyay-ticket-video/eventyay_video/templates/eventyay_video/order_info.html
Moved i18n locale files from the pretix_venueless directory to the eventyay_video directory without changing their content.
  • Relocated all existing django.po locale files for supported languages from the pretix_venueless path into the new eventyay_video/locale tree.
  • Moved the base django.pot template file into the corresponding eventyay_video/locale directory structure, preserving translations.
app/eventyay/plugins/eventyay-ticket-video/eventyay_video/locale/ar/LC_MESSAGES/django.po
app/eventyay/plugins/eventyay-ticket-video/eventyay_video/locale/de/LC_MESSAGES/django.po
app/eventyay/plugins/eventyay-ticket-video/eventyay_video/locale/de_Informal/LC_MESSAGES/django.po
app/eventyay/plugins/eventyay-ticket-video/eventyay_video/locale/django.pot
app/eventyay/plugins/eventyay-ticket-video/eventyay_video/locale/fi/LC_MESSAGES/django.po
app/eventyay/plugins/eventyay-ticket-video/eventyay_video/locale/hr/LC_MESSAGES/django.po
app/eventyay/plugins/eventyay-ticket-video/eventyay_video/locale/ja/LC_MESSAGES/django.po
app/eventyay/plugins/eventyay-ticket-video/eventyay_video/locale/nl/LC_MESSAGES/django.po
app/eventyay/plugins/eventyay-ticket-video/eventyay_video/locale/nl_Informal/LC_MESSAGES/django.po
app/eventyay/plugins/eventyay-ticket-video/eventyay_video/locale/pt_PT/LC_MESSAGES/django.po

Possibly linked issues

  • #Rename Legacy References to Updated Platform: PR renames pretix_venueless plugin, templates, URLs, and assets to eventyay_video, matching the issue’s naming migration goals.

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey there - I've reviewed your changes and found some issues that need to be addressed.

  • The plugin config name was changed to eventyay-video while the module/URL namespace uses eventyay_video; consider aligning these (dash vs underscore) to avoid subtle namespace or plugin discovery issues.
  • The inner meta class PretixPluginMeta was renamed to EventyayVideoPluginMeta even though the comment says it's for upstream pretix compatibility; double-check whether the class name itself is relied on upstream and if so keep the original name while updating its contents.
  • Asset/template paths now mix eventyay-video (e.g., in picture) and eventyay_video (e.g., templates and URLs); it would be safer to standardize on one naming convention across filesystem paths and Django namespaces to prevent missing file or static path issues.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The plugin config `name` was changed to `eventyay-video` while the module/URL namespace uses `eventyay_video`; consider aligning these (dash vs underscore) to avoid subtle namespace or plugin discovery issues.
- The inner meta class `PretixPluginMeta` was renamed to `EventyayVideoPluginMeta` even though the comment says it's for upstream pretix compatibility; double-check whether the class name itself is relied on upstream and if so keep the original name while updating its contents.
- Asset/template paths now mix `eventyay-video` (e.g., in `picture`) and `eventyay_video` (e.g., templates and URLs); it would be safer to standardize on one naming convention across filesystem paths and Django namespaces to prevent missing file or static path issues.

## Individual Comments

### Comment 1
<location> `app/eventyay/plugins/eventyay-ticket-video/eventyay_video/apps.py:14` </location>
<code_context>
 class PluginApp(_BasePluginConfig):
     default = True
-    name = 'pretix_venueless'
+    name = 'eventyay-video'
     verbose_name = 'Eventyay Video'

</code_context>

<issue_to_address>
**issue (bug_risk):** AppConfig.name should generally be the Python path (likely with underscore) rather than a hyphenated identifier.

In Django AppConfig, `name` must be an importable Python module path. `'eventyay-video'` is not a valid module name and may break Django’s app registry or pretix’s plugin detection. Please use the actual package/module name instead, e.g. `'eventyay_video'`.
</issue_to_address>

### Comment 2
<location> `app/eventyay/plugins/eventyay-ticket-video/eventyay_video/apps.py:17` </location>
<code_context>
     verbose_name = 'Eventyay Video'

-    class PretixPluginMeta:  # Keep for upstream pretix compatibility
+    class EventyayVideoPluginMeta:  # Keep for upstream pretix compatibility
         name = gettext_lazy('Eventyay Video')
         author = 'Eventyay'
</code_context>

<issue_to_address>
**question (bug_risk):** Renaming PretixPluginMeta may break upstream pretix compatibility expectations.

This inner class is documented as being for upstream pretix compatibility, but its name changed from `PretixPluginMeta` to `EventyayVideoPluginMeta`. If pretix or related tooling expects the original `PretixPluginMeta` name (e.g., via reflection), this could silently break integration. Please either keep the original class name and update its contents, or confirm that no upstream code relies on the `PretixPluginMeta` identifier before proceeding with the rename.
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

class PluginApp(_BasePluginConfig):
default = True
name = 'pretix_venueless'
name = 'eventyay-video'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

issue (bug_risk): AppConfig.name should generally be the Python path (likely with underscore) rather than a hyphenated identifier.

In Django AppConfig, name must be an importable Python module path. 'eventyay-video' is not a valid module name and may break Django’s app registry or pretix’s plugin detection. Please use the actual package/module name instead, e.g. 'eventyay_video'.

verbose_name = 'Eventyay Video'

class PretixPluginMeta: # Keep for upstream pretix compatibility
class EventyayVideoPluginMeta: # Keep for upstream pretix compatibility
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question (bug_risk): Renaming PretixPluginMeta may break upstream pretix compatibility expectations.

This inner class is documented as being for upstream pretix compatibility, but its name changed from PretixPluginMeta to EventyayVideoPluginMeta. If pretix or related tooling expects the original PretixPluginMeta name (e.g., via reflection), this could silently break integration. Please either keep the original class name and update its contents, or confirm that no upstream code relies on the PretixPluginMeta identifier before proceeding with the rename.

@Stackashu
Copy link
Author

check this i replaced the files name to thier new respective names .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant