OpenEnergyPlatform / oeplatform

Repository for the code of the Open Energy Platform (OEP) website. The OEP provides an interface to the Open Energy Family
http://openenergyplatform.org/
GNU Affero General Public License v3.0
61 stars 19 forks source link

Feature 1641 improve table sidebar #1652

Closed bmlancien closed 2 weeks ago

bmlancien commented 1 month ago

Summary of the discussion

Updated sidebar on table detail page.

Type of change (CHANGELOG.md)

Changes

Workflow checklist

Automation

Closes #1641 Closes #1305 Closes #1646

PR-Assignee

Reviewer

jh-RLI commented 1 month ago

Great thanks alot. I will have a look later today / tomorrow.

jh-RLI commented 1 month ago

@bmlancien can you maybe have a look at the style again :) maybe it nees to be recompiled. I had to solve a merge confligt and i think there was no way around loosing a few lines in the bootstrap.min.css.

jh-RLI commented 1 month ago

I think I have installed something wrong on my system. Once I build the sass the bootstrap.min.css doesn't look like it should :) I think I need to take another look at how to create the sass.

bmlancien commented 3 weeks ago

I don't think it's related, but I get the following error:

* Owlready2 * Warning: optimized Cython parser module 'owlready2_optimized' is not available, defaulting to slower Python implementation
* Owlready2 * Warning: optimized Cython parser module 'owlready2_optimized' is not available, defaulting to slower Python implementation
Watching for file changes with StatReloader
Exception in thread django-main-thread:
Traceback (most recent call last):
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/threading.py", line 973, in _bootstrap_inner
    self.run()
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/threading.py", line 910, in run
    self._target(*self._args, **self._kwargs)
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/utils/autoreload.py", line 64, in wrapper
    fn(*args, **kwargs)
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/core/management/commands/runserver.py", line 110, in inner_run
    autoreload.raise_last_exception()
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/utils/autoreload.py", line 87, in raise_last_exception
    raise _exception[1]
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/core/management/__init__.py", line 375, in execute
    autoreload.check_errors(django.setup)()
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/utils/autoreload.py", line 64, in wrapper
    fn(*args, **kwargs)
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/apps/registry.py", line 114, in populate
    app_config.import_models()
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/apps/config.py", line 301, in import_models
    self.models_module = import_module(models_module_name)
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/login/models.py", line 12, in <module>
    import dataedit.models as datamodels
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/dataedit/models.py", line 52, in <module>
    class Table(Tagable):
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/dataedit/models.py", line 130, in Table
    def set_human_readable_name(self, current_name, readable_table_name: str | None):
TypeError: unsupported operand type(s) for |: 'type' and 'NoneType'

I also fixed a typo in _variables.scss. Maybe that's why it wasn't working for you?

jh-RLI commented 3 weeks ago

Let me try to fix the problem. I assume this is still due to the Python version you are using. It should be Python 3.10, but don't upgrade you version for now because this would then also affect your other projects environments.

jh-RLI commented 3 weeks ago

But in general your fix worked :)

image

jh-RLI commented 3 weeks ago

Okay @bmlancien. could you pull the changes and then try to start the server again? The error should not be visible anymore.

bmlancien commented 3 weeks ago

But in general your fix worked :)

Sorry for that, I didn't see the error when I had pushed for the first time... But good that this is working now :)

could you pull the changes and then try to start the server again? The error should not be visible anymore.

I still get an error:

(env) bryanlancien@Bryans-Air oeplatform % python3 manage.py runserver
* Owlready2 * Warning: optimized Cython parser module 'owlready2_optimized' is not available, defaulting to slower Python implementation
* Owlready2 * Warning: optimized Cython parser module 'owlready2_optimized' is not available, defaulting to slower Python implementation
Watching for file changes with StatReloader
INFO:django.utils.autoreload:Watching for file changes with StatReloader
Performing system checks...

Exception in thread django-main-thread:
Traceback (most recent call last):
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/threading.py", line 973, in _bootstrap_inner
    self.run()
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/threading.py", line 910, in run
    self._target(*self._args, **self._kwargs)
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/utils/autoreload.py", line 64, in wrapper
    fn(*args, **kwargs)
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/core/management/commands/runserver.py", line 118, in inner_run
    self.check(display_num_errors=True)
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/core/management/base.py", line 419, in check
    all_issues = checks.run_checks(
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/core/checks/registry.py", line 76, in run_checks
    new_errors = check(app_configs=app_configs, databases=databases)
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/core/checks/urls.py", line 13, in check_url_config
    return check_resolver(resolver)
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/core/checks/urls.py", line 23, in check_resolver
    return check_method()
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/urls/resolvers.py", line 416, in check
    for pattern in self.url_patterns:
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/utils/functional.py", line 48, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/urls/resolvers.py", line 602, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/utils/functional.py", line 48, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/urls/resolvers.py", line 595, in urlconf_module
    return import_module(self.urlconf_name)
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/oeplatform/urls.py", line 27, in <module>
    url(r"^api/", include("api.urls")),
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/urls/conf.py", line 34, in include
    urlconf_module = import_module(urlconf_module)
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/api/urls.py", line 4, in <module>
    from api import actions, views
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/api/actions.py", line 35, in <module>
    from dataedit.helper import get_readable_table_name
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/dataedit/helper.py", line 13, in <module>
    def read_label(table, oemetadata) -> None | str:
TypeError: unsupported operand type(s) for |: 'NoneType' and 'type'
Traceback (most recent call last):
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/template/utils.py", line 66, in __getitem__
    return self._engines[alias]
KeyError: 'django'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
    utility.execute()
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/core/management/__init__.py", line 413, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/core/management/base.py", line 354, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/core/management/commands/runserver.py", line 61, in execute
    super().execute(*args, **options)
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/core/management/base.py", line 398, in execute
    output = self.handle(*args, **options)
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/core/management/commands/runserver.py", line 96, in handle
    self.run(**options)
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/core/management/commands/runserver.py", line 103, in run
    autoreload.run_with_reloader(self.inner_run, **options)
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/utils/autoreload.py", line 638, in run_with_reloader
    start_django(reloader, main_func, *args, **kwargs)
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/utils/autoreload.py", line 623, in start_django
    reloader.run(django_main_thread)
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/utils/autoreload.py", line 328, in run
    autoreload_started.send(sender=self)
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/dispatch/dispatcher.py", line 180, in send
    return [
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/dispatch/dispatcher.py", line 181, in <listcomp>
    (receiver, receiver(signal=self, sender=sender, **named))
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/template/autoreload.py", line 44, in watch_for_template_changes
    for directory in get_template_directories():
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/template/autoreload.py", line 17, in get_template_directories
    for backend in engines.all():
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/template/utils.py", line 90, in all
    return [self[alias] for alias in self]
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/template/utils.py", line 90, in <listcomp>
    return [self[alias] for alias in self]
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/template/utils.py", line 81, in __getitem__
    engine = engine_cls(params)
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/template/backends/django.py", line 25, in __init__
    options['libraries'] = self.get_templatetag_libraries(libraries)
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/template/backends/django.py", line 43, in get_templatetag_libraries
    libraries = get_installed_libraries()
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/template/backends/django.py", line 108, in get_installed_libraries
    for name in get_package_libraries(pkg):
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/env/lib/python3.9/site-packages/django/template/backends/django.py", line 121, in get_package_libraries
    module = import_module(entry[1])
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/dataedit/templatetags/dataedit/taghandler.py", line 4, in <module>
    from dataedit.views import get_all_tags, get_popular_tags
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/dataedit/views.py", line 32, in <module>
    from api.actions import describe_columns
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/api/actions.py", line 35, in <module>
    from dataedit.helper import get_readable_table_name
  File "/Users/bryanlancien/Documents/Work/RLI/Code/oeplatform/dataedit/helper.py", line 13, in <module>
    def read_label(table, oemetadata) -> None | str:
TypeError: unsupported operand type(s) for |: 'NoneType' and 'type'
jh-RLI commented 3 weeks ago

Okay now again there was other code with the same issue. Should work.

Sorry for that, I didn't see the error when I had pushed for the first time... But good that this is working now :)

Thanks alot im not even sure if this was your error :)

bmlancien commented 3 weeks ago

Okay now again there was other code with the same issue. Should work.

Thanks! This is working now.