Giter Club home page Giter Club logo

bedfellow's People

Contributors

danondso avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Forkers

subham5401

bedfellow's Issues

Rewrite python html parser scripts in rust.

When I started the project, I was eager to get the html parsing for whosampled, and in order to move fast I went ahead and created python parsers instead of rust because I wasn't able to get the html document for the pages (cloudflare kept blocking me).

tl;dr there's a fix for that, it's using the rustls-tls feature. Here's how to configure the client correctly

    let client_builder = reqwest::ClientBuilder::new();
    let client = client_builder
    .user_agent("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36")
    .cookie_store(true)
    .use_rustls_tls() // this is needed
    .build().unwrap();

So now that we can pull the data back correctly, we can write the html parsers in rust instead!

fix: get android working again

Due to the RN upgrade and the legacy setup of react-native-spotify-auth package with its aar file imports android fails to login properly.

This could be related to the configuration of the oauth in the spotify dashboard, by the time this is available to work on I'll have investigated that and eliminated that possibility

Create an error contract for the API.

The API contract for errors is straight up bad (read: non-existent). We need:

  • a struct denoting what an error looks like
  • those returned consistently for all the functions (the spotify auth ones are managed by react-native-spotify-remote so let's focus on the whosampled controller file first.
  • Proper usage of http response code for all of the endpoints

Update README

We've moved to react-native-app-auth. We'll need to update the README TO explain the server setup steps and some other things.

feat: create a build script

If we're going to release this or run it not in dev mode, we'll have to get a build script setup.

Going to use fastlane for this.

create a data ingestion pipeline

Since we're scraping whosampled all the time, the solution is fundamentally flimsy. So let's offload parsed results we get into a DB via some data ingestion pipeline and store it in a DB

Rewrite track info parsing logic to be safer.

Right now we're banking on having values in the places we expect so we're unwrap()ing without checking if it's actually safe to inside of the parse_track function. This should be rewritten with some matches in place to better protect against panics.

Goal: Rewrite parse_track function to safely unwrap and navigate thru the tree.

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.