Skip to content

Commit d6ebc6b

Browse files
committed
Merge pull request #7 from japanesemediamanager/master
newest
2 parents c715c1d + cfdb492 commit d6ebc6b

20 files changed

+191
-51
lines changed

CONTRIBUTING.md

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Contributing to JMM
2+
3+
Contributing to JMM is simple!
4+
5+
Simply Fork the project, make your changes and submit a Pull Request.
6+
7+
# Reporting Issues
8+
9+
First off, make sure the issue you are reporting is about JMM Server, not JMM Desktop. It's easy to confuse the two when it comes to functionality. JMM Server handles all the **backend** functions while JMM Desktop handles all the **frontend** functions.
10+
11+
Here are some examples:
12+
13+
* Want to see a new feature added? Most likely JMM Desktop related.
14+
* Problems with hashing? JMM Server related.
15+
* Connecting to MAL or Trakt? JMM Desktop related.
16+
* Image download problems? JMM Server related.
17+
* Change how many images are downloaded? JMM Desktop related.
18+
19+
Hopefully these examples help point you in the right direction. Also please make sure your report contains all the information we'll need to replicate the issue.

Installers/JMMServer.iss

+2-3
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
88
AppId={{898530ED-CFC7-4744-B2B8-A8D98A2FA06C}
99
AppName=JMM Server
10-
AppVersion=3.4.5.3
11-
;AppVerName=JMM Server 3.4.5.3
10+
AppVersion=3.4.6.3
11+
;AppVerName=JMM Server 3.4.6.3
1212
AppPublisher=JMM
1313
AppPublisherURL=https://github.com/japanesemediamanager
1414
AppSupportURL=https://github.com/japanesemediamanager
@@ -35,7 +35,6 @@ Name: "quicklaunchicon"; Components: main; Description: "{cm:CreateQuickLaunchIc
3535
Source: "C:\Projects\[ JMM Binaries No Configs ]\JMMServer\JMMServer.exe"; Components: main; DestDir: "{app}"; Flags: ignoreversion
3636
Source: "C:\Projects\[ JMM Binaries No Configs ]\JMMServer\Antlr3.Runtime.dll"; Components: main; DestDir: "{app}"; Flags: ignoreversion
3737
Source: "C:\Projects\[ JMM Binaries No Configs ]\JMMServer\Castle.Core.dll"; Components: main; DestDir: "{app}"; Flags: ignoreversion
38-
Source: "C:\Projects\[ JMM Binaries No Configs ]\JMMServer\client.wyc"; Components: main; DestDir: "{app}"; Flags: ignoreversion
3938
Source: "C:\Projects\[ JMM Binaries No Configs ]\JMMServer\FluentNHibernate.dll"; Components: main; DestDir: "{app}"; Flags: ignoreversion
4039
Source: "C:\Projects\[ JMM Binaries No Configs ]\JMMServer\FluentNHibernate.pdb"; Components: main; DestDir: "{app}"; Flags: ignoreversion
4140
Source: "C:\Projects\[ JMM Binaries No Configs ]\JMMServer\HibernatingRhinos.Profiler.Appender.dll"; Components: main; DestDir: "{app}"; Flags: ignoreversion
8.6 MB
Binary file not shown.
Binary file not shown.
8.56 MB
Binary file not shown.
Binary file not shown.

JMMServer/AniDBHelper.cs

+21
Original file line numberDiff line numberDiff line change
@@ -639,6 +639,27 @@ internal bool MarkFileAsExternalStorage(string Hash, long FileSize)
639639
return true;
640640
}
641641

642+
internal bool MarkFileAsUnknown(string Hash, long FileSize)
643+
{
644+
if (!Login()) return false;
645+
646+
enHelperActivityType ev = enHelperActivityType.NoSuchMyListFile;
647+
AniDBCommand_MarkFileAsUnknown cmdMarkFileUnknown = null;
648+
649+
lock (lockAniDBConnections)
650+
{
651+
Pause();
652+
653+
cmdMarkFileUnknown = new AniDBCommand_MarkFileAsUnknown();
654+
cmdMarkFileUnknown.Init(Hash, FileSize);
655+
SetWaitingOnResponse(true);
656+
ev = cmdMarkFileUnknown.Process(ref soUdp, ref remoteIpEndPoint, curSessionID, new UnicodeEncoding(true, false));
657+
SetWaitingOnResponse(false);
658+
}
659+
660+
return true;
661+
}
662+
642663
public bool MarkFileAsDeleted(string hash, long fileSize)
643664
{
644665
if (!Login()) return false;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
using System.Net;
2+
using System.Net.Sockets;
3+
using System.Text;
4+
5+
namespace AniDBAPI.Commands
6+
{
7+
public class AniDBCommand_MarkFileAsUnknown : AniDBUDPCommand, IAniDBUDPCommand
8+
{
9+
public bool ReturnIsWatched = false;
10+
public string Hash = "";
11+
12+
public string GetKey()
13+
{
14+
return "AniDBCommand_MarkFileAsUnknown" + Hash;
15+
}
16+
17+
public virtual enHelperActivityType GetStartEventType()
18+
{
19+
return enHelperActivityType.MarkingFileUnknown;
20+
}
21+
22+
public virtual enHelperActivityType Process(ref Socket soUDP,
23+
ref IPEndPoint remoteIpEndPoint, string sessionID, Encoding enc)
24+
{
25+
ProcessCommand(ref soUDP, ref remoteIpEndPoint, sessionID, enc);
26+
27+
// handle 555 BANNED and 598 - UNKNOWN COMMAND
28+
if (ResponseCode == 598) return enHelperActivityType.UnknownCommand_598;
29+
if (ResponseCode == 555) return enHelperActivityType.Banned_555;
30+
31+
if (errorOccurred) return enHelperActivityType.NoSuchFile;
32+
33+
string sMsgType = socketResponse.Substring(0, 3);
34+
switch (sMsgType)
35+
{
36+
case "210":
37+
return enHelperActivityType.FileMarkedAsDeleted;
38+
case "310":
39+
return enHelperActivityType.FileMarkedAsDeleted;
40+
case "311":
41+
return enHelperActivityType.FileMarkedAsDeleted;
42+
case "320":
43+
return enHelperActivityType.NoSuchFile;
44+
case "411":
45+
return enHelperActivityType.NoSuchFile;
46+
47+
case "502":
48+
return enHelperActivityType.LoginFailed;
49+
case "501":
50+
{
51+
return enHelperActivityType.LoginRequired;
52+
}
53+
54+
}
55+
56+
return enHelperActivityType.FileDoesNotExist;
57+
}
58+
59+
public AniDBCommand_MarkFileAsUnknown()
60+
{
61+
commandType = enAniDBCommandType.MarkFileUnknown;
62+
}
63+
64+
public void Init(string hash, long fileSize)
65+
{
66+
Hash = hash;
67+
commandID = "MarkingFileUnknown File: " + hash;
68+
69+
commandText = "MYLISTADD size=" + fileSize;
70+
commandText += "&ed2k=" + hash;
71+
commandText += "&state=" + (int)AniDBFileStatus.Unknown;
72+
commandText += "&edit=1";
73+
}
74+
}
75+
}

JMMServer/AniDB_API/Enums.cs

+9-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@ public enum AniDBFileDeleteType
1717
{
1818
Delete = 0,
1919
MarkDeleted = 1,
20-
MarkExternalStorage = 2
20+
MarkExternalStorage = 2,
21+
MarkUnknown = 3,
22+
DeleteLocalOnly = 4
2123
}
2224

2325
public enum enAniDBVoteType
@@ -56,7 +58,9 @@ public enum enAniDBCommandType
5658
DeleteFile = 24,
5759
GetMyListStats = 25,
5860
MarkFileDeleted = 26,
59-
MarkFileExternal = 27
61+
MarkFileExternal = 27,
62+
MarkFileUnknown = 28
63+
6064
}
6165

6266
public enum enHelperActivityType
@@ -86,6 +90,9 @@ public enum enHelperActivityType
8690
FileMarkedAsDeleted = 24,
8791
MarkingFileExternal = 25,
8892
FileMarkedExternal = 26,
93+
MarkingFileUnknown = 27,
94+
FileMarkedUnknown = 28,
95+
8996
//Episode
9097
GotEpisodeInfo = 30,
9198
GettingEpisodeInfo = 32,

JMMServer/Commands/AniDB/CommandRequest_DeleteFileFromMyList.cs

+38-23
Original file line numberDiff line numberDiff line change
@@ -61,32 +61,47 @@ public override void ProcessCommand()
6161

6262
try
6363
{
64-
if (ServerSettings.AniDB_MyList_DeleteType == AniDBAPI.AniDBFileDeleteType.Delete)
65-
{
66-
if (FileID > 0)
67-
JMMService.AnidbProcessor.DeleteFileFromMyList(FileID);
68-
else
69-
JMMService.AnidbProcessor.DeleteFileFromMyList(Hash, FileSize);
70-
71-
logger.Info("Deleting file from list: {0}_{1}", Hash, FileID);
72-
}
73-
else if (ServerSettings.AniDB_MyList_DeleteType == AniDBAPI.AniDBFileDeleteType.MarkDeleted)
64+
switch (ServerSettings.AniDB_MyList_DeleteType)
7465
{
75-
if (FileID < 0)
76-
{
77-
JMMService.AnidbProcessor.MarkFileAsDeleted(Hash, FileSize);
78-
logger.Info("Marking file as deleted from list: {0}_{1}", Hash, FileID);
79-
}
80-
}
81-
else
82-
{
83-
if (FileID < 0)
84-
{
85-
JMMService.AnidbProcessor.MarkFileAsExternalStorage(Hash, FileSize);
86-
logger.Info("Moving File to external storage: {0}_{1}", Hash, FileID);
87-
}
66+
case AniDBAPI.AniDBFileDeleteType.Delete:
67+
if (FileID > 0)
68+
JMMService.AnidbProcessor.DeleteFileFromMyList(FileID);
69+
else
70+
JMMService.AnidbProcessor.DeleteFileFromMyList(Hash, FileSize);
71+
72+
logger.Info("Deleting file from list: {0}_{1}", Hash, FileID);
73+
break;
74+
75+
case AniDBAPI.AniDBFileDeleteType.MarkDeleted:
76+
if (FileID < 0)
77+
{
78+
JMMService.AnidbProcessor.MarkFileAsDeleted(Hash, FileSize);
79+
logger.Info("Marking file as deleted from list: {0}_{1}", Hash, FileID);
80+
}
81+
break;
82+
83+
case AniDBAPI.AniDBFileDeleteType.MarkUnknown:
84+
if (FileID < 0)
85+
{
86+
JMMService.AnidbProcessor.MarkFileAsUnknown(Hash, FileSize);
87+
logger.Info("Marking file as unknown: {0}_{1}", Hash, FileID);
88+
}
89+
break;
90+
91+
case AniDBAPI.AniDBFileDeleteType.DeleteLocalOnly:
92+
logger.Info("Keeping physical file and AniDB MyList entry, deleting from local DB: {0}_{1}", Hash, FileID);
93+
break;
94+
95+
default:
96+
if (FileID < 0)
97+
{
98+
JMMService.AnidbProcessor.MarkFileAsExternalStorage(Hash, FileSize);
99+
logger.Info("Moving file to external storage: {0}_{1}", Hash, FileID);
100+
}
101+
break;
88102
}
89103

104+
90105
if (ServerSettings.AniDB_MyList_DeleteType == AniDBAPI.AniDBFileDeleteType.Delete ||
91106
ServerSettings.AniDB_MyList_DeleteType == AniDBAPI.AniDBFileDeleteType.MarkDeleted)
92107
{

JMMServer/JMMServer.csproj

+4
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,7 @@
165165
<Compile Include="AniDB_API\Commands\AniDBCommand_Logout.cs" />
166166
<Compile Include="AniDB_API\Commands\AniDBCommand_MarkFileAsDeleted.cs" />
167167
<Compile Include="AniDB_API\Commands\AniDBCommand_MarkFileAsExternal.cs" />
168+
<Compile Include="AniDB_API\Commands\AniDBCommand_MarkFileAsUnknown.cs" />
168169
<Compile Include="AniDB_API\Commands\AniDBCommand_NotifyGet.cs" />
169170
<Compile Include="AniDB_API\Commands\AniDBCommand_NotifyList.cs" />
170171
<Compile Include="AniDB_API\Commands\AniDBCommand_Ping.cs" />
@@ -370,9 +371,12 @@
370371
<Compile Include="Providers\TraktTV\Contracts\TraktV2Images.cs" />
371372
<Compile Include="Providers\TraktTV\Contracts\TraktV2ImagesExtended.cs" />
372373
<Compile Include="Providers\TraktTV\Contracts\TraktV2Logo.cs" />
374+
<Compile Include="Providers\TraktTV\Contracts\TraktV2Movie.cs" />
373375
<Compile Include="Providers\TraktTV\Contracts\TraktV2Poster.cs" />
374376
<Compile Include="Providers\TraktTV\Contracts\Search\TraktV2SearchShowResult.cs" />
375377
<Compile Include="Providers\TraktTV\Contracts\Search\TraktV2SearchTvDBIDShowResult.cs" />
378+
<Compile Include="Providers\TraktTV\Contracts\TraktV2ScrobbleEpisode.cs" />
379+
<Compile Include="Providers\TraktTV\Contracts\TraktV2ScrobbleMovie.cs" />
376380
<Compile Include="Providers\TraktTV\Contracts\TraktV2Season.cs" />
377381
<Compile Include="Providers\TraktTV\Contracts\TraktV2SeasonIds.cs" />
378382
<Compile Include="Providers\TraktTV\Contracts\TraktV2Show.cs" />

JMMServer/JMMServiceImplementationKodi.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -797,7 +797,7 @@ public System.IO.Stream VoteAnime(string userid, string objectid, string voteval
797797
{
798798
AnimeEpisodeRepository repEpisodes = new AnimeEpisodeRepository();
799799
AnimeEpisode ep = repEpisodes.GetByID(session, objid);
800-
AniDB_Anime anime = ep?.GetAnimeSeries().GetAnime();
800+
AniDB_Anime anime = ep.GetAnimeSeries().GetAnime();
801801
if (anime == null)
802802
{
803803
rsp.code = 404;
@@ -843,7 +843,7 @@ public System.IO.Stream VoteAnime(string userid, string objectid, string voteval
843843
{
844844
AnimeSeriesRepository repSeries = new AnimeSeriesRepository();
845845
AnimeSeries ser = repSeries.GetByID(session, objid);
846-
AniDB_Anime anime = ser?.GetAnime();
846+
AniDB_Anime anime = ser.GetAnime();
847847
if (anime == null)
848848
{
849849
rsp.code = 404;

JMMServer/JMMServiceImplementationPlex.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -511,7 +511,7 @@ public void VoteAnime(string userid, string seriesid, string votevalue, string v
511511

512512
AnimeSeriesRepository repSeries = new AnimeSeriesRepository();
513513
AnimeSeries ser = repSeries.GetByID(session, serid);
514-
AniDB_Anime anime = ser?.GetAnime();
514+
AniDB_Anime anime = ser.GetAnime();
515515
if (anime == null)
516516
return;
517517
string msg = string.Format("Voting for anime: {0} - Value: {1}", anime.AnimeID, vvalue);

JMMServer/MainWindow.xaml.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1416,8 +1416,8 @@ void btnToolbarHelp_Click(object sender, RoutedEventArgs e)
14161416
//JMMServer.Providers.Azure.Azure_AnimeLink link2 = JMMServer.Providers.Azure.AzureWebAPI.Admin_GetRandomTraktLinkForApproval();
14171417
//List<Providers.Azure.CrossRef_AniDB_Trakt> xrefs= JMMServer.Providers.Azure.AzureWebAPI.Admin_Get_CrossRefAniDBTrakt(link2.RandomAnimeID);
14181418

1419-
1420-
1419+
1420+
//TraktTVHelper.RefreshAuthToken();
14211421

14221422

14231423
AboutForm frm = new AboutForm();

JMMServer/Properties/AssemblyInfo.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -51,5 +51,5 @@
5151
// You can specify all the values or you can default the Build and Revision Numbers
5252
// by using the '*' as shown below:
5353
// [assembly: AssemblyVersion("1.0.*")]
54-
[assembly: AssemblyVersion("3.4.6.1")]
55-
[assembly: AssemblyFileVersion("3.4.6.1")]
54+
[assembly: AssemblyVersion("3.4.6.4")]
55+
[assembly: AssemblyFileVersion("3.4.6.4")]

JMMServer/UI/AboutForm.xaml

+6-6
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
</StackPanel>
4343
</Border>
4444

45-
<Border Grid.Row="1" Grid.Column="0" Margin="0" Background="#F1F1F1" BorderBrush="LightGray" BorderThickness="1" Height="226" VerticalAlignment="Top">
45+
<Border Grid.Row="1" Grid.Column="0" Margin="0" Background="#F1F1F1" BorderBrush="LightGray" BorderThickness="1" Height="165" VerticalAlignment="Top">
4646

4747
<Grid>
4848
<Grid.RowDefinitions>
@@ -58,12 +58,12 @@
5858
</Grid.ColumnDefinitions>
5959

6060
<TextBlock Grid.Row="0" Grid.Column="0" Margin="5,6" Text="Home Page" VerticalAlignment="Center"/>
61-
<local:HyperLinkStandard Grid.Row="0" Grid.Column="1" VerticalAlignment="Center" Margin="5,6,5,5" DisplayText="http://japanesemediamanager.github.io/"
62-
URL="http://japanesemediamanager.github.io/"/>
61+
<local:HyperLinkStandard Grid.Row="0" Grid.Column="1" VerticalAlignment="Center" Margin="5,6,5,5" DisplayText="http://jmediamanager.org"
62+
URL="http://jmediamanager.org"/>
6363

64-
<TextBlock Grid.Row="2" Grid.Column="0" Margin="5,6" Text="Online Documentation" VerticalAlignment="Center"/>
65-
<local:HyperLinkStandard Grid.Row="2" Grid.Column="1" VerticalAlignment="Center" Margin="5,5,5,6" DisplayText="http://japanesemediamanager.github.io/documentation.html"
66-
URL="http://japanesemediamanager.github.io/documentation.html"/>
64+
<TextBlock Grid.Row="2" Grid.Column="0" Margin="5,6" Text="JMM Blog" VerticalAlignment="Center"/>
65+
<local:HyperLinkStandard Grid.Row="2" Grid.Column="1" VerticalAlignment="Center" Margin="5,5,5,6" DisplayText="http://jmediamanager.org/blog"
66+
URL="http://jmediamanager.org/blog"/>
6767

6868
<TextBlock Grid.Row="1" Grid.Column="0" Margin="5,4.864,5,6" Text="Project Page" VerticalAlignment="Center"/>
6969
<local:HyperLinkStandard Grid.Row="1" Grid.Column="1" VerticalAlignment="Center" Margin="5,4.864,5,5" DisplayText="https://github.com/japanesemediamanager"

JMMServer/UI/ImportFolderAdmin.xaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@
7676
<Image Height="16" Width="16" Source="/Images/32_info.png" Margin="5,2,5,0" Grid.Column="0" VerticalAlignment="Top"/>
7777
<TextBlock VerticalAlignment="Center" Text="Import folders are the the base locations where you keep your anime. You will need to add at least one folder and then select 'Run Import' on the Actions tab" Margin="0,0,5,0" TextWrapping="Wrap" Grid.Column="1"/>
7878
<local:HyperLinkStandard Grid.Row="1" Grid.Column="1" VerticalAlignment="Center" Margin="0,5,5,5" DisplayText="Detailed explanation of options"
79-
URL="http://japanesemediamanager.github.io/jmmserver/import.html"/>
79+
URL="http://jmediamanager.org/jmm-server/configuring-jmm-server/#import-folders"/>
8080
</Grid>
8181
</Border>
8282

JMMServer/UI/ImportFolderForm.xaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
<Image Height="16" Width="16" Source="/Images/32_info.png" Margin="5,2,5,0" Grid.Column="0" VerticalAlignment="Top"/>
5050

5151
<local:HyperLinkStandard Grid.Row="0" Grid.Column="1" VerticalAlignment="Center" Margin="0,3,5,5" DisplayText="Detailed explanation of options"
52-
URL="http://japanesemediamanager.github.io/jmmserver/import.html"/>
52+
URL="http://jmediamanager.org/jmm-server/configuring-jmm-server/#import-folders"/>
5353
</Grid>
5454
</Border>
5555

0 commit comments

Comments
 (0)