From 1d990e8a40db0c559ab38ade7b97cc46caad8982 Mon Sep 17 00:00:00 2001 From: Alessio Date: Sun, 6 Mar 2022 16:11:45 -0800 Subject: [PATCH] Remove users.yaml file --- persistence/follows.go | 23 ----------------------- persistence/follows_test.go | 23 ----------------------- persistence/profile.go | 24 +----------------------- persistence/profile_test.go | 13 +------------ persistence/user_queries.go | 9 +++++++++ 5 files changed, 11 insertions(+), 81 deletions(-) delete mode 100644 persistence/follows.go delete mode 100644 persistence/follows_test.go diff --git a/persistence/follows.go b/persistence/follows.go deleted file mode 100644 index 7a8647c..0000000 --- a/persistence/follows.go +++ /dev/null @@ -1,23 +0,0 @@ -package persistence - -import ( - "offline_twitter/scraper" -) - - -/** - * Create a Type for this to make it easier to expand later - */ -type Follow struct { - Handle scraper.UserHandle `yaml:"user"` - AutoFetch bool `yaml:"auto_fetch_tweets"` -} - -func (p Profile) IsFollowing(handle scraper.UserHandle) bool { - for _, follow := range p.UsersList { - if follow.Handle == handle { - return true; - } - } - return false; -} diff --git a/persistence/follows_test.go b/persistence/follows_test.go deleted file mode 100644 index b8b1695..0000000 --- a/persistence/follows_test.go +++ /dev/null @@ -1,23 +0,0 @@ -package persistence_test - -import ( - "testing" - - . "offline_twitter/persistence" -) - - -func TestIsFollowing(t *testing.T) { - p := Profile{} - p.UsersList = []Follow{ - Follow{Handle: "guy1"}, - Follow{Handle: "guy2"}, - } - - if p.IsFollowing("guy3") { - t.Errorf("Should not be following guy3") - } - if !p.IsFollowing("guy2") { - t.Errorf("Should be following guy2") - } -} diff --git a/persistence/profile.go b/persistence/profile.go index d68ba4c..aa8bf48 100644 --- a/persistence/profile.go +++ b/persistence/profile.go @@ -17,7 +17,6 @@ type Settings struct {} type Profile struct { ProfileDir string - UsersList []Follow Settings Settings DB *sql.DB } @@ -48,7 +47,6 @@ func NewProfile(target_dir string) (Profile, error) { return Profile{}, ErrTargetAlreadyExists{target_dir} } - user_list_file := path.Join(target_dir, "users.yaml") settings_file := path.Join(target_dir, "settings.yaml") sqlite_file := path.Join(target_dir, "twitter.db") profile_images_dir := path.Join(target_dir, "profile_images") @@ -76,13 +74,6 @@ func NewProfile(target_dir string) (Profile, error) { } InitializeDatabaseVersion(db) - // Create `users.txt` - fmt.Printf("Creating............. %s\n", user_list_file) - err = os.WriteFile(user_list_file, []byte{}, os.FileMode(0644)) - if err != nil { - return Profile{}, err - } - // Create `settings.yaml` fmt.Printf("Creating............. %s\n", settings_file) settings := Settings{} @@ -130,7 +121,7 @@ func NewProfile(target_dir string) (Profile, error) { return Profile{}, err } - return Profile{target_dir, []Follow{}, settings, db}, nil + return Profile{target_dir, settings, db}, nil } @@ -144,12 +135,10 @@ func NewProfile(target_dir string) (Profile, error) { * - the loaded Profile */ func LoadProfile(profile_dir string) (Profile, error) { - user_list_file := path.Join(profile_dir, "users.yaml") settings_file := path.Join(profile_dir, "settings.yaml") sqlite_file := path.Join(profile_dir, "twitter.db") for _, file := range []string{ - user_list_file, settings_file, sqlite_file, } { @@ -158,16 +147,6 @@ func LoadProfile(profile_dir string) (Profile, error) { } } - users_data, err := os.ReadFile(user_list_file) - if err != nil { - return Profile{}, err - } - users_list := []Follow{} - err = yaml.Unmarshal(users_data, &users_list); - if err != nil { - return Profile{}, err - } - settings_data, err := os.ReadFile(settings_file) if err != nil { return Profile{}, err @@ -185,7 +164,6 @@ func LoadProfile(profile_dir string) (Profile, error) { ret := Profile{ ProfileDir: profile_dir, - UsersList: users_list, Settings: settings, DB: db, } diff --git a/persistence/profile_test.go b/persistence/profile_test.go index dbb57cb..727d919 100644 --- a/persistence/profile_test.go +++ b/persistence/profile_test.go @@ -3,7 +3,6 @@ package persistence_test import ( "testing" "os" - "path" "errors" "github.com/stretchr/testify/assert" @@ -63,14 +62,11 @@ func TestNewProfile(t *testing.T) { require.NoError(err) assert.Equal(profile_path,profile.ProfileDir) - if len(profile.UsersList) != 0 { - t.Errorf("Expected empty users list, got %v instead", profile.UsersList) - } // Check files were created contents, err := os.ReadDir(profile_path) require.NoError(err) - assert.Len(contents, 8) + assert.Len(contents, 7) expected_files := []struct { filename string @@ -81,7 +77,6 @@ func TestNewProfile(t *testing.T) { {"profile_images", true}, {"settings.yaml", false}, {"twitter.db", false}, - {"users.yaml", false}, {"video_thumbnails", true}, {"videos", true}, } @@ -113,14 +108,8 @@ func TestLoadProfile(t *testing.T) { _, err := persistence.NewProfile(profile_path) require.NoError(err) - // Create some users - err = os.WriteFile(path.Join(profile_path, "users.yaml"), []byte("- user: user1\n- user: user2\n"), 0644) - require.NoError(err) - profile, err := persistence.LoadProfile(profile_path) require.NoError(err) assert.Equal(t, profile_path, profile.ProfileDir) - assert.Len(t, profile.UsersList, 2) - assert.Equal(t, "user1", string(profile.UsersList[0].Handle)) } diff --git a/persistence/user_queries.go b/persistence/user_queries.go index 1391eea..0364b8e 100644 --- a/persistence/user_queries.go +++ b/persistence/user_queries.go @@ -266,3 +266,12 @@ func (p Profile) GetAllFollowedUsers() []scraper.UserHandle { return ret } + +func (p Profile) IsFollowing(handle scraper.UserHandle) bool { + for _, follow := range p.GetAllFollowedUsers() { + if follow == handle { + return true; + } + } + return false; +}