Giter VIP home page Giter VIP logo

evething-2's People

Contributors

gillingham avatar kyria avatar madcowfred avatar narthollis avatar skyride avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

evething-2's Issues

Using /latest/ for ESI results in broken code when new endpoints versions are promoted

Because the ESI class is set up to use ESI_URL as the base for all routes, it isn't possible to configure evething2 to use differently-versioned routes for different endpoints. As a result, when new versions of endpoints get rolled into latest (or whichever spec is chosen), various functionality can break until (1) the code accessing those endpoints is updated in the repo; and (2) the administrator performs a git pull.

For instance, a new /corporations/{id}/ endpoint was recently promoted to latest, and as a result corporation.py fails on line 87 (because the field it is looking for has been removed), unless one has pulled in less-than-week-old changes from the repo.

If the endpoints were versioned separately (using, for instance, /v4/corporations/{id/), one could at least maintain functionality using the legacy version of the endpoint (as long as it gets updated before the legacy version is removed entirely).

Connect new character results in JSON error

Trying to + Connect new character in the My Account page results in a JSON error. It is not possible to add new characters.

On the My Account page, I have no characters. When I click the + Connect new character button it takes me to this Eve SSO page whose URL I imagine is incorrect.

Inserting my user/password there redirects me to this page results in the following JSON error being displayed to my client:

{"error":"invalid_request","error_description":"Some parameters are either missing or invalid"}

In particular the redirect_uri is empty which is surely a problem, and client_id is empty which may or may not be a problem.

Finally, scope is set to urgaypwned which seems unlikely to be correct.

Asset tab values aren't correct

Bug Report

Expected behavior:

After clicking on 'Assets' menu the 'Value' Column should show a close estimation of the items in each location

Actual behavior:

The estimated value in the 'Value' column is much too high. After clicking on the location the estimation becomes correct.

Detailed steps to reproduce:

  1. Click on Assets on the top menu bar
  2. Look at 'Value' column
  3. Notice the value is much too high
  4. Click on the location
  5. Recognize the 'Value' is correct in the location view

Other relevant information:

From Main Assets page:
https://i.imgur.com/IaMvnVE.png

From Location view:
https://i.imgur.com/FnZP0xP.png

Doesn't work under FreeBSD + apache 2.4

My steps (under root user):

  1. mkdir -p /usr/local/wsgi/venv
  2. Steps 1-9 from Common install steps (on step 7 i got: manage.py: error: no such option: --all)
  3. Create site evething.<mydomain> on my DNS
  4. Add evething.<mydomain>.conf in apache24/Virtual folder with this content:
    <VirtualHost *:80>
        ErrorLog "/var/log/www/evething.<mydomain>-error.log"
        TransferLog "/var/log/www/evething.<mydomain>-access.log"
        CustomLog "/var/log/www/evething.<mydomain>-custom.log" combined
        DocumentRoot "/usr/local/www/evething.<mydomain>"
        ServerName evething.<mydomain>
        ServerAlias www.evething.<mydomain>
        <Directory "/usr/local/www/evething.<mydomain>">
            Require all granted
        </Directory>
        Alias /static/      /usr/local/www/evething.<mydomain>/static/
    </VirtualHost>
  1. Create evething.conf in apache24/Includes folder with this content:
    WSGIDaemonProcess evething threads=2 user=nobody python-path=/usr/local/wsgi/venv/thingenv/evething-2:/usr/local/wsgi/venv/thingenv/lib/python2.7/site-packages
    WSGIProcessGroup evething
    WSGIScriptAlias / /usr/local/wsgi/venv/thingenv/evething-2/evething/wsgi.py
    WSGIPythonHome /usr/local/wsgi/venv/thingenv
    <Directory /usr/local/wsgi/venv/thingenv/evething-2>
        <Files wsgi.py>
            Require all granted
        </Files>
    </Directory>
  1. Restart apache
  2. Run python manage.py collectstatic

Try to visit http://evething.<mydomain> and got
500 Internal Server Error

File evething.<mydomain>-error.log contains:

XXX mod_wsgi (pid=28734): Failed to exec Python script file '/usr/local/wsgi/venv/thingenv/evething-2/evething/wsgi.py'.
XXX mod_wsgi (pid=28734): Exception occurred processing WSGI script '/usr/local/wsgi/venv/thingenv/evething-2/evething/wsgi.py'.
XXX Traceback (most recent call last):
XXX   File "/usr/local/wsgi/venv/thingenv/evething-2/evething/wsgi.py", line 33, in 
XXX     application = get_wsgi_application()
XXX   File "/usr/local/wsgi/venv/thingenv/lib/python2.7/site-packages/django/core/wsgi.py", line 14, in get_wsgi_application
XXX     django.setup()
XXX   File "/usr/local/wsgi/venv/thingenv/lib/python2.7/site-packages/django/__init__.py", line 20, in setup
XXX     configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
XXX   File "/usr/local/wsgi/venv/thingenv/lib/python2.7/site-packages/django/conf/__init__.py", line 46, in __getattr__
XXX     self._setup(name)
XXX   File "/usr/local/wsgi/venv/thingenv/lib/python2.7/site-packages/django/conf/__init__.py", line 42, in _setup
XXX     self._wrapped = Settings(settings_module)
XXX   File "/usr/local/wsgi/venv/thingenv/lib/python2.7/site-packages/django/conf/__init__.py", line 98, in __init__
XXX     % (self.SETTINGS_MODULE, e)
XXX ImportError: Could not import settings 'evething.settings' (Is it on sys.path? Is there an import error in the settings file?): No module named evething.settings

403 loop

When queried for information about structures, if the character is not on the acl, esi returns a 403. In esi.py, line 38 there's a comment that if it throws a 403 it's from an invalid token. In typical :ccp: fashion, it appears that the 403 is used for not being allowed to see structure acls as well as not having an auth token. I'm no python genius, but I'll play around with it for a bit and see what I can come up with.

[2017-05-24 20:48:24,421: DEBUG/Worker-5] https://esi.tech.ccp.is:443 "GET /latest/universe/structures/1021542958222/?datasource=tranquility HTTP/1.1" 403 None
[2017-05-24 20:48:24,439: DEBUG/Worker-5] Starting new HTTPS connection (1): login.eveonline.com
[2017-05-24 20:48:25,072: DEBUG/Worker-5] https://login.eveonline.com:443 "POST /oauth/token HTTP/1.1" 200 337
[2017-05-24 20:48:25,101: DEBUG/Worker-5] (0.002) UPDATE `thing_esitoken` SET `access_token` = ' ... '
[2017-05-24 20:48:25,110: DEBUG/Worker-5] Starting new HTTPS connection (1): esi.tech.ccp.is
[2017-05-24 20:48:25,942: DEBUG/Worker-5] https://esi.tech.ccp.is:443 "GET /latest/universe/structures/1021542958222/?datasource=tranquility HTTP/1.1" 403 None

It will just repeat that until you kill celery. Sorry for the edit, pressed the wrong button.

Private contracts sometimes display as Public on the Contracts page

Some contracts with private availability have their "Assigned To" displaying as "Public" on the contracts page. It seems like Public is displaying instead of certain corporations or characters, while in other cases the actual corporation or character to whom the contract is assigned is properly displayed.

Additionally, for affected contracts, viewing the page for that specific contract lists its availability as "Private - ".

There does not seem to be any rhyme or reason for which assignees are affected, but all contracts assigned to those players or corporations display as being assigned to "Public".

Completed Market Orders Do Not Get Removed

When a market order is updated (e.g. when someone buys or sells to a portion of the order, or when the price point is changed), the order is accurately updated in the Orders window. However, upon order completion/deletion/expiry, the order is not removed and remains in its last-known state indefinitely.

Training a skill not present in SDE aborts character update

If a character is training a skill not present in the SDE (for example, the moon mining skills at present), the character_info task raises an exception and prevents the updating of any of that character's information.

[2017-10-06 15:58:26,305: ERROR/MainProcess] Task thing.esi.character_info[9bdf2e23-c55e-4e8a-8645-9c2026fac9c7] raised unexpected: IntegrityError(1452, 'Cannot add or update a child row: a foreign key constraint fails (`evething2`.`thing_characterskill`, CONSTRAINT `thing_character_skill_id_6095e43f33a8c14f_fk_thing_skill_item_id` FOREIGN KEY (`skill_id`) REFERENCES `thing_skill` (`item_id`))')
Traceback (most recent call last):
  File "/efs/evething2env/lib/python2.7/site-packages/celery/app/trace.py", line 240, in trace_task
    R = retval = fun(*args, **kwargs)
  File "/efs/evething2env/lib/python2.7/site-packages/celery/app/trace.py", line 438, in __protected_call__
    return self.run(*args, **kwargs)
  File "/efs/evething2env/lib/python2.7/site-packages/django/db/transaction.py", line 394, in inner
    return func(*args, **kwargs)
  File "thing/tasks/esi/characterinfo.py", line 139, in run
    db_skill.save()
  File "/efs/evething2env/lib/python2.7/site-packages/django/db/models/base.py", line 589, in save
    force_update=force_update, update_fields=update_fields)
  File "/efs/evething2env/lib/python2.7/site-packages/django/db/models/base.py", line 617, in save_base
    updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
  File "/efs/evething2env/lib/python2.7/site-packages/django/db/models/base.py", line 698, in _save_table
    result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
  File "/efs/evething2env/lib/python2.7/site-packages/django/db/models/base.py", line 731, in _do_insert
    using=using, raw=raw)
  File "/efs/evething2env/lib/python2.7/site-packages/django/db/models/manager.py", line 92, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/efs/evething2env/lib/python2.7/site-packages/django/db/models/query.py", line 921, in _insert
    return query.get_compiler(using=using).execute_sql(return_id)
  File "/efs/evething2env/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 921, in execute_sql
    cursor.execute(sql, params)
  File "/efs/evething2env/lib/python2.7/site-packages/django/db/backends/utils.py", line 65, in execute
    return self.cursor.execute(sql, params)
  File "/efs/evething2env/lib/python2.7/site-packages/django/db/utils.py", line 94, in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
  File "/efs/evething2env/lib/python2.7/site-packages/django/db/backends/utils.py", line 65, in execute
    return self.cursor.execute(sql, params)
  File "/efs/evething2env/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 129, in execute
    return self.cursor.execute(query, args)
  File "/efs/evething2env/lib/python2.7/site-packages/MySQLdb/cursors.py", line 205, in execute
    self.errorhandler(self, exc, value)
  File "/efs/evething2env/lib/python2.7/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
    raise errorclass, errorvalue

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.