Skip to content
This repository has been archived by the owner on Jan 21, 2020. It is now read-only.

Commit

Permalink
Merged lots of stuff into MusicBrainz.Versioning
Browse files Browse the repository at this point in the history
  • Loading branch information
ocharles committed Sep 6, 2013
1 parent ba91df5 commit f96d53c
Show file tree
Hide file tree
Showing 74 changed files with 918 additions and 1,317 deletions.
14 changes: 1 addition & 13 deletions musicbrainz-data.cabal
Expand Up @@ -39,17 +39,9 @@ Library
MusicBrainz.Artist
MusicBrainz.ArtistCredit
MusicBrainz.Class.Cleanup
MusicBrainz.Class.Create
MusicBrainz.Class.FindLatest
MusicBrainz.Class.GetEntity
MusicBrainz.Class.ResolveReference
MusicBrainz.Class.Update
MusicBrainz.Class.ViewRevision
MusicBrainz.Country
MusicBrainz.Edit
MusicBrainz.EditApplication
MusicBrainz.Editor
MusicBrainz.Entity
MusicBrainz.Gender
MusicBrainz.IPI
MusicBrainz.ISNI
Expand All @@ -60,22 +52,18 @@ Library
MusicBrainz.MBID
MusicBrainz.PartialDate
MusicBrainz.Recording
MusicBrainz.Ref
MusicBrainz.Relationship
MusicBrainz.Relationship.Internal
MusicBrainz.Release
MusicBrainz.ReleaseGroup
MusicBrainz.Revision
MusicBrainz.Revision.Internal
MusicBrainz.Script
MusicBrainz.Tree
MusicBrainz.URL
MusicBrainz.Work
MusicBrainz.Util
MusicBrainz.Versioning
other-modules:
MusicBrainz.Generic
MusicBrainz.Merge
MusicBrainz.Class.RealiseTree
MusicBrainz.Lens
ghc-options: -Wall -fwarn-tabs -funbox-strict-fields -O2
-fno-warn-unused-do-bind
Expand Down
14 changes: 9 additions & 5 deletions src/MusicBrainz/Alias.hs
Expand Up @@ -19,13 +19,10 @@ import Database.PostgreSQL.Simple.FromRow (FromRow(..), field)
import Database.PostgreSQL.Simple.ToField (ToField(..))
import Database.PostgreSQL.Simple.ToRow (ToRow(..))

import MusicBrainz.Entity
import MusicBrainz.Monad
import MusicBrainz.Class.ResolveReference
import MusicBrainz.Class.RootTable
import MusicBrainz.Monad
import MusicBrainz.PartialDate (PartialDate)
import MusicBrainz.Ref (Ref, Referenceable(..), reference, dereference)
import MusicBrainz.Revision (Revision)
import MusicBrainz.Versioning

import qualified Data.Set as Set

Expand Down Expand Up @@ -135,3 +132,10 @@ class ViewAliases a where
, "JOIN " ++ entityName ++ "_revision USING (" ++ entityName ++ "_tree_id) "
, "WHERE revision_id = ?"
]


--------------------------------------------------------------------------------
{-| Provide a single lens to view all aliases inside a 'Tree'. -}
class TreeAliases a where
{-| A 'Lens' into all aliases for any 'Tree'. -}
aliases :: Lens' (Tree a) (Set (Alias a))
11 changes: 9 additions & 2 deletions src/MusicBrainz/Annotation.hs
Expand Up @@ -6,6 +6,7 @@
module MusicBrainz.Annotation where

import Control.Applicative
import Control.Lens
import Control.Monad.IO.Class (MonadIO)
import Data.String (fromString)
import Data.Tagged (Tagged, untag)
Expand All @@ -14,8 +15,7 @@ import Database.PostgreSQL.Simple (Only(..))

import MusicBrainz.Monad
import MusicBrainz.Class.RootTable
import MusicBrainz.Ref (Ref)
import MusicBrainz.Revision (Revision)
import MusicBrainz.Versioning

--------------------------------------------------------------------------------
{-| This type class provides functions for working with annotations for specific
Expand All @@ -37,3 +37,10 @@ class ViewAnnotation a where
, "JOIN " ++ entityName ++ "_revision USING (" ++ entityName ++ "_tree_id) "
, "WHERE revision_id = ?"
]


--------------------------------------------------------------------------------
{-| Provide a single lens to view the annotation inside a 'Tree'. -}
class TreeAnnotation a where
{-| A 'Lens' into the annotation for any 'Tree'. -}
annotation :: Lens' (Tree a) Text
23 changes: 5 additions & 18 deletions src/MusicBrainz/Artist.hs
Expand Up @@ -33,38 +33,25 @@ import Database.PostgreSQL.Simple.ToRow (ToRow(..))

import qualified Data.Set as Set

import MusicBrainz.Merge
import MusicBrainz.Monad
import MusicBrainz.Annotation
import MusicBrainz.Alias
import MusicBrainz.Class.Create
import MusicBrainz.Class.FindLatest
import MusicBrainz.Class.MasterRevision
import MusicBrainz.Class.NewEntityRevision
import MusicBrainz.Class.RealiseTree
import MusicBrainz.Class.ResolveReference
import MusicBrainz.Annotation
import MusicBrainz.Class.RootTable
import MusicBrainz.Class.Update
import MusicBrainz.Class.ViewRevision
import MusicBrainz.Country (Country)
import MusicBrainz.Entity (Add(..), coreData)
import MusicBrainz.Gender (Gender)
import MusicBrainz.IPI
import MusicBrainz.ISNI
import MusicBrainz.MBID
import MusicBrainz.Merge
import MusicBrainz.Monad
import MusicBrainz.PartialDate (PartialDate)
import MusicBrainz.Ref (Ref, Referenceable(..), reference, dereference)
import MusicBrainz.Relationship
import MusicBrainz.Relationship.Internal (HoldsRelationships(..), viewRelationships)
import MusicBrainz.Revision (Revision)
import MusicBrainz.Revision.Internal (CloneRevision(..))
import MusicBrainz.Tree
import MusicBrainz.Relationship.Internal
import MusicBrainz.Util (viewOnce)
import MusicBrainz.Versioning hiding (merge)

import {-# SOURCE #-} qualified MusicBrainz.Generic as Generic

import MusicBrainz.Edit (Editable(..))

--------------------------------------------------------------------------------
{-| The data about an artist in MusicBrainz. -}
data Artist = Artist
Expand Down
2 changes: 1 addition & 1 deletion src/MusicBrainz/Artist.hs-boot
Expand Up @@ -2,7 +2,7 @@
module MusicBrainz.Artist where

import Database.PostgreSQL.Simple.FromField (FromField)
import MusicBrainz.Ref (Ref)
import MusicBrainz.Versioning

data Artist

Expand Down
3 changes: 1 addition & 2 deletions src/MusicBrainz/ArtistCredit.hs
Expand Up @@ -21,8 +21,7 @@ import Database.PostgreSQL.Simple.ToRow (ToRow(..))
import MusicBrainz.Util (groupMapTotal)
import MusicBrainz.Monad
import MusicBrainz.Artist (Artist)
import MusicBrainz.Class.ResolveReference
import MusicBrainz.Ref (Ref, Referenceable(..), reference, dereference)
import MusicBrainz.Versioning

import qualified Data.Map as Map
import qualified Data.Set as Set
Expand Down
3 changes: 1 addition & 2 deletions src/MusicBrainz/Class/Cleanup.hs
Expand Up @@ -8,9 +8,8 @@ import Control.Monad.Loops (orM)
import qualified Data.Set as Set

import MusicBrainz.Monad
import MusicBrainz.Ref
import MusicBrainz.Revision
import MusicBrainz.Relationship.Internal
import MusicBrainz.Versioning

eligibleForCleanup :: (Functor m, MonadIO m, HoldsRelationships a) =>
Ref (Revision a) -> MusicBrainzT m Bool
Expand Down
49 changes: 0 additions & 49 deletions src/MusicBrainz/Class/Create.hs

This file was deleted.

19 changes: 0 additions & 19 deletions src/MusicBrainz/Class/FindLatest.hs

This file was deleted.

11 changes: 0 additions & 11 deletions src/MusicBrainz/Class/GetEntity.hs

This file was deleted.

32 changes: 0 additions & 32 deletions src/MusicBrainz/Class/MasterRevision.hs

This file was deleted.

34 changes: 0 additions & 34 deletions src/MusicBrainz/Class/NewEntityRevision.hs

This file was deleted.

12 changes: 0 additions & 12 deletions src/MusicBrainz/Class/RealiseTree.hs

This file was deleted.

0 comments on commit f96d53c

Please sign in to comment.