This repository was archived by the owner on Nov 29, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 158
Expand file tree
/
Copy pathMetaData.cs
More file actions
122 lines (107 loc) · 3.49 KB
/
Copy pathMetaData.cs
File metadata and controls
122 lines (107 loc) · 3.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
using System;
using System.Collections.Generic;
namespace DropNet.Models
{
public class MetaData
{
public string Hash { get; set; }
public bool Thumb_Exists { get; set; }
public long Bytes { get; set; }
public string Modified { get; set; }
public string Client_Mtime { get; set; }
public string Path { get; set; }
public bool Is_Dir { get; set; }
public bool Is_Deleted { get; set; }
public string Size { get; set; }
public string Root { get; set; }
public string Icon { get; set; }
public int Revision { get; set; }
public string Rev { get; set; }
public List<MetaData> Contents { get; set; }
public String Mime_Type { get; set; }
public DateTime ModifiedDate
{
get
{
return GetDateTimeFromString(Modified);
}
}
public DateTime UTCDateModified
{
get
{
return GetUTCDateTimeFromString(Modified);
}
set
{
Modified = GetStringFromDateTime(value);
}
}
public DateTime Client_MtimeDate
{
get
{
return GetDateTimeFromString(Client_Mtime);
}
}
public DateTime UTCDateClient_Mtime
{
get
{
return GetUTCDateTimeFromString(Client_Mtime);
}
set
{
Client_Mtime = GetStringFromDateTime(value);
}
}
public string Name
{
get
{
if (string.IsNullOrEmpty(Path))
{
return string.Empty;
}
if (Path.LastIndexOf("/") == -1)
{
return string.Empty;
}
return string.IsNullOrEmpty(Path) ? "root" : Path.Substring(Path.LastIndexOf("/") + 1);
}
}
public string Extension
{
get
{
if (string.IsNullOrEmpty(Path))
{
return string.Empty;
}
if (Path.LastIndexOf(".") == -1)
{
return string.Empty;
}
return Is_Dir ? string.Empty : Path.Substring(Path.LastIndexOf("."));
}
}
private static DateTime GetDateTimeFromString(string dateTimeStr)
{
//cast to datetime and return
return dateTimeStr == null ? DateTime.MinValue : DateTime.Parse(dateTimeStr); //RFC1123 format date codes are returned by API
}
private static DateTime GetUTCDateTimeFromString(string dateTimeStr)
{
string str = dateTimeStr;
if (str == null)
return DateTime.MinValue;
if (str.EndsWith(" +0000")) str = str.Substring(0, str.Length - 6);
if (!str.EndsWith(" UTC")) str += " UTC";
return DateTime.ParseExact(str, "ddd, d MMM yyyy HH:mm:ss UTC", System.Globalization.CultureInfo.InvariantCulture);
}
private static string GetStringFromDateTime(DateTime dateTime)
{
return dateTime.ToString("ddd, d MMM yyyy HH:mm:ss UTC");
}
}
}