Steem Late Vote Explorer :: 2.1.0

in #utopian-io5 years ago


SLVE - Steem Late Vote Explorer


Description

Steem Late Vote Explorer (SLVE) is a tool I designed to visually represent and track last-minute votes in the interests of education and abuse detection. It is built with customizability in mind and can currently stream the blockchain to show a live feed of last-minute votes, it also has a resident GUI which is currently incomplete.




Repository

https://github.com/sisygoboom/abuse_detection_steemit




Bug Fixes

Initialisation directory was being overwritten by working directory

When creating a new AbuseDetection instance, if a user had passed a directory param to look for the data in, the directory would get instantly overwritten by the working directory (os.getcwd()).

To fix this, os.getcwd() is now only used if None is passed as the directory parameter.

commit




New Features

Data can now be passed as a parameter to AbuseDetection

To save time and resources, if another program or instance has already loaded the data, it makes no sense for a new instance to reload a second copy. That's why I made data a parameter when creating a new AbuseDetection instance.

I did this by creating a new if/else tree. If the data was passed as a parameter, then no further work is needed bar making it an instance variable. If no data is passed, we revert to the code we had previously, where it attempts to load a database.

commit


Stream blockchain in background

Now, when the GUI starts, so does the blockchain streamer. This allows the user to have an up to date database without having to manually start the streamer via command line every time. This makes the program a lot more accessible for non-technical users.

I did this firstly by importing the AbuseDetection class.

And then by creating a new instance. Data can be passed as a parameter, thanks to the development made above. After the instance has been created, we start the stream which has already got multithreading built in, allowing us to continue the rest of the program.

commit


Synchronise keynames

Until this point, voters and receivers had different key names for essentially the same data. Voters had quantity and value whereas recievers had total_votes and total_lme respectively. The benefits of making both sets of keys the same are preventing repeated code, increasing efficiency and making the code easier to understand.

I did this by using the find + replace all feature in my IDE. I then deleted abuse_log.json because it still used the old keys. The easiest way to avoid confusion is to hit the reset button in this case.

commit


Account lookup button

In the GUI, when a user selects an account name, they now have the option to click on the account lookup button which takes them directly to that users steemit homepage.

I achieved this by creating a new button, which I then linked to a command called self.lookup() which plugs the selected username into a steemit.com URL; I made use of the webbrowser module that comes built into vanilla python to open the page.

commit




GitHub Account




Roadmap

  • GUI
    • Integrate with make_pie.py so pie charts can be used within the GUI
    • Right-click menu
    • Make reputation/steem UA score visible upon user selection
    • Order listbox by reputation
    • Listbox showing individual post statistics for selected user
    • Top mounted menubar
  • Allow user to select what frontend the account lookup uses.
Sort:  

Cool project @sisygoboom!

  • Download link doesn't work in the repository readme.

  • There are no installation instructions. I believe, Python apps/packages should be installable with distutils in general.

  • After installing beem and matploblib, I have managed to get the gui working on my osx setup.


Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here.


Need help? Write a ticket on https://support.utopian.io/.
Chat with us on Discord.
[utopian-moderator]

Thanks for the feedback Emre, I'll look into making the changes you suggested!

Thank you for your review, @emrebeyler! Keep up the good work!

Hi @sisygoboom!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your post is eligible for our upvote, thanks to our collaboration with @utopian-io!
Feel free to join our @steem-ua Discord server

Hi, @sisygoboom!

You just got a 0.85% upvote from SteemPlus!
To get higher upvotes, earn more SteemPlus Points (SPP). On your Steemit wallet, check your SPP balance and click on "How to earn SPP?" to find out all the ways to earn.
If you're not using SteemPlus yet, please check our last posts in here to see the many ways in which SteemPlus can improve your Steem experience on Steemit and Busy.

Congratulations! Your post has been selected as a daily Steemit truffle! It is listed on rank 3 of all contributions awarded today. You can find the TOP DAILY TRUFFLE PICKS HERE.

I upvoted your contribution because to my mind your post is at least 8 SBD worth and should receive 143 votes. It's now up to the lovely Steemit community to make this come true.

I am TrufflePig, an Artificial Intelligence Bot that helps minnows and content curators using Machine Learning. If you are curious how I select content, you can find an explanation here!

Have a nice day and sincerely yours,
trufflepig
TrufflePig

Hey, @sisygoboom!

Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!

Get higher incentives and support Utopian.io!
Simply set @utopian.pay as a 5% (or higher) payout beneficiary on your contribution post (via SteemPlus or Steeditor).

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!

Coin Marketplace

STEEM 0.26
TRX 0.11
JST 0.033
BTC 64999.89
ETH 3101.81
USDT 1.00
SBD 3.87