浏览代码

merged last commit from master

Noah Vogt 3 年之前
父节点
当前提交
bc080e0904

+ 2 - 3
app/src/main/java/com/noahvogt/miniprojekt/MailFunctions.java

@@ -20,7 +20,6 @@ public class MailFunctions {
         Python python = Python.getInstance();
         PyObject pythonMailFunctions = python.getModule("mailFunctions");
         pythonMailFunctions.callAttr("sendStarttls", host, sendingMail, receivingMail, password, message, subject, 587, cc, bcc);
-        return;
     }
 
     public static PyObject getIMAPConnection(String host, String email, String password) {
@@ -35,10 +34,10 @@ public class MailFunctions {
         return pythonMailFunctions.callAttr("listMailboxes", IMAPConnection).asList();
     }
 
-    public static List fetchMailsFromBox(PyObject IMAPConnection, String Folder) {
+    public static List fetchMailsFromBox(PyObject IMAPConnection, String Folder, String InputType) {
         Python python = Python.getInstance();
         PyObject pythonMailFunctions = python.getModule("mailFunctions");
-        return pythonMailFunctions.callAttr("fetchMails", IMAPConnection, Folder).asList();
+        return pythonMailFunctions.callAttr("fetchMails", IMAPConnection, Folder, InputType).asList();
     }
 
     public static boolean validateName(EditText emailName) {

+ 5 - 3
app/src/main/java/com/noahvogt/miniprojekt/MainActivity.java

@@ -111,7 +111,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
         });
 
         /* invoke preferences */
-        preferences = (SharedPreferences) getSharedPreferences("UserPrefrences", Context.MODE_PRIVATE);
+        preferences = getSharedPreferences("UserPreferences", Context.MODE_PRIVATE);
 
         /* invoke toolbar */
         Toolbar toolbar = findViewById(R.id.toolbar);
@@ -283,7 +283,10 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
                         showToast(l.get(i).toString());
                         // TODO: select right folder to store, Synchronization
                         /*gives list of Message Objects/dictionaries */
-                        List p = MailFunctions.fetchMailsFromBox(MailFunctions.getIMAPConnection(name, email, password), l.get(i).toString());
+
+                        List p = MailFunctions.fetchMailsFromBox(MailFunctions.getIMAPConnection(name, email, password), l.get(i).toString(), "list");
+                        System.out.println(l.get(i).toString());
+
                         System.out.println(p);
                         /*
                         HashMap hashMap;
@@ -310,7 +313,6 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
                     mEmailViewModel.insert(word);
 
                      */
-
                     preferencesEditor.putString("name", name);
                     preferencesEditor.putString("email", email);
                     preferencesEditor.putString("password", password);

+ 1 - 1
app/src/main/java/com/noahvogt/miniprojekt/messageCreateFragment.java

@@ -63,7 +63,7 @@ public class messageCreateFragment extends DialogFragment implements PopupMenu.O
     public void onCreate(@Nullable Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setStyle(DialogFragment.STYLE_NORMAL, R.style.messageCreateTheme);
-        preferences = getActivity().getSharedPreferences("UserPrefrences", Context.MODE_PRIVATE);
+        preferences = getActivity().getSharedPreferences("UserPreferences", Context.MODE_PRIVATE);
     }
 
 

+ 26 - 10
app/src/main/python/mailFunctions.py

@@ -66,13 +66,14 @@ def listMailboxes(connection):
     connection.logout()
     return formatted_mailbox_list
 
-def fetchMails(connection, inbox):
+def fetchMails(connection, inbox, outputType):
     print("###" + inbox + "###")
     print(type(inbox))
     try:
         status, messages = connection.select(inbox)
     except:
         return []
+
     print("status-------\n" + status)
     print("messages-------\n" + str(messages))
     # number of top emails to fetch
@@ -84,7 +85,10 @@ def fetchMails(connection, inbox):
     typ, data = connection.search(None, 'ALL')
     output_list = []
     for num in data[0].split():
-        output_dict = {}
+        if outputType == "dict":
+            output_dict = {}
+        else:
+            inner_output_list = []
         typ, data = connection.fetch(num, '(RFC822)')
         msg = email.message_from_bytes(data[0][1])
 
@@ -128,15 +132,27 @@ def fetchMails(connection, inbox):
 
         #print("subject: {}".format(subject))
 
-        output_dict['subject'] = subject
-        output_dict['from'] = stringCompiling(raw_from)
-        output_dict['cc'] = stringCompiling(raw_cc)
-        output_dict['bcc'] = stringCompiling(raw_bcc)
-        output_dict['to'] = stringCompiling(raw_to)
-        output_dict['date'] = stringCompiling(raw_date)
-        output_dict['content'] = primitive_body
+        if outputType == "dict":
+            output_dict['subject'] = subject
+            output_dict['from'] = stringCompiling(raw_from)
+            output_dict['cc'] = stringCompiling(raw_cc)
+            output_dict['bcc'] = stringCompiling(raw_bcc)
+            output_dict['to'] = stringCompiling(raw_to)
+            output_dict['date'] = stringCompiling(raw_date)
+            output_dict['content'] = primitive_body
+
+            output_list.append(output_dict)
+        else:
+            inner_output_list.append(subject)
+            inner_output_list.append(stringCompiling(subject))
+            inner_output_list.append(stringCompiling(raw_cc))
+            inner_output_list.append(stringCompiling(raw_bcc))
+            inner_output_list.append(stringCompiling(raw_to))
+            inner_output_list.append(stringCompiling(raw_date))
+            inner_output_list.append(primitive_body)
+
+            output_list.append(inner_output_dict)
 
-        output_list.append(output_dict)
 
     connection.close()
     connection.logout()